Zum Inhalt springen

Probleme bei der Intergration der Maske ins Programm


Angeli

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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??

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...