Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo

ich hab folgendes Problem: wenn ich einen Button drücke passiert nichts...

Ich will dass mein Programm mir beispielsweise eine Ellipse auf mein Hauptfenster zeichnet!

aber leider bekomme ich das nicht hin..

Hier mein Unterprogramm:

BOOL APIENTRY mein_maskenprogramm (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)

{

switch(msg)

{

case WM_INITDIALOG:

//Dieser Teil wird durchlaufen, wenn die Maske das 1. Mal geoeffnet wird

printf("\nDie Maske wurde aufdemacht");

break;

case WM_COMMAND:

switch(LOWORD(wParam))

{

case KNOPF_BERLIN:

printf("\nEs wurde der Knopf_BERLIN gedrückt");

Ellipse_zeichnen (hdc);

break;

case KNOPF_NY:

printf("\nEs wurde der KNOPF_NY gedrückt");

break;

}

break;

}

return(HandleDefaultMessages(hwnd, msg, wParam, lParam));

}

Die Übergabe an die Konsole funktioniert!

Nur die Ellipse zeichnet er nicht..

Wie bekomme ich das hin? Ich hoffe jemand kann mir da helfen:)

Ich hoffe jemand kann mir da weiterhelfen.

Angeli

* Integration

das unterprogramm, welches auf das Hauptfenster eine Ellipse zeichnen soll heißt:

ellipse_zeichenen (HDC hdc)

hdc ist ein Handle für ein Gerätekontext

Ich habe sein Wissen auch nicht angezweifelt;)

also ich habs jetzt bisschen umgeändert...

#include <windows.h>

#include <windowsx.h>

#include <commctrl.h>

#include <string.h>

#include "uhrprogrammres.h"

#include "prototypen.h"

#include <stdio.h>

BOOL APIENTRY mein_maskenprogramm (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)

{

switch(msg)

{

case WM_INITDIALOG:

//Dieser Teil wird durchlaufen, wenn die Maske das 1. Mal geoeffnet wird

printf("\nDie Maske wurde aufdemacht");

break;

case WM_COMMAND:

//Dieser Teil wird durchlaufen, wenn in der Maske etwas ausgefuehrt werden soll.

switch(LOWORD(wParam))

{

case KNOPF_BERLIN:

printf("\nEs wurde der Knopf_BERLIN gedrückt");

ellipse_zeichnen(hwnd);

break;

case KNOPF_NY:

printf("\nEs wurde der KNOPF_NY gedrückt");

break;

}

break;

}

return(HandleDefaultMessages(hwnd, msg, wParam, lParam));

}

BOOL ellipse_zeichnen(HWND hwnd)

{

HDC hdc;

PAINTSTRUCT ps;

int farbmischung;

int r, g, b;

HBRUSH pinsel;

InvalidateRect (hwnd, NULL, TRUE);

hdc = BeginPaint(hwnd, &ps);

farbmischung = RGB(0, 100, 100);

pinsel = CreateSolidBrush(farbmischung);

SelectBrush(hdc, pinsel);

Ellipse(hdc, 250, 80, 300, 130);

DeleteObject(pinsel);

EndPaint(hwnd, &ps);

UpdateWindow(hwnd);

return 0;

}

die Ellipse wird jetzt leider auf die Maske gezeichnet..

Wie kann ich sie auch dem Hauptfenster zeichnen lassen??

die Ellipse wird jetzt leider auf die Maske gezeichnet..

Wie kann ich sie auch dem Hauptfenster zeichnen lassen??

Die Ellipse wird auf das Fenster gezeichnet, dessen Fenster-Handle du an ellipse_zeichnen übergibst. Im Übrigen scheinst du alles, was ich dir in deinem letzten Thread über BeginPaint, UpdateWindow usw. gesagt habe, wieder vergessen zu haben.

mir ist leider nicht ganz klar wie ich das richtige Fensterhandle übergeben kann..

kannst du mir da keinen Tipp geben?

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.