AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Message

Ein Thema von nailor · begonnen am 6. Mai 2003 · letzter Beitrag vom 7. Mai 2003
Antwort Antwort
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1
  Alt 6. Mai 2003, 18:25
Ich wäre da mal ganz vorsichtig, wenn du behauptest, dass Assarbad fehlerhafte Tutorials veröffentlicht. Ich habe sein Tutoriasl nicht mehr im Kopf - lang, lang ist's her - aber es läuft wahrscheinlich nicht, weil du es verschlimmbessert hast.
Kuck dir mal im PSDK oder alternativ in meinen Tutorials an, was im loword vom wParam von WM_COMMAND steht: Die ID des Controlls. Diese hast du beim Erzeugen des Buttons mit 0 angegeben und testest im WM_COMMAND Zweig testaber auf das Handle vom Button.

Mach mal das: Als Konstante führst du IDOK mit 100 ein.
  IDOK = 100; Dann in WM_CREATE:
Delphi-Quellcode:
function WNDProc(hWnd: HWND; uMsg: UINT; wParam: WPARAM;
                  lParam: LPARAM): LRESULT; stdcall;
var
  hButton: Cardinal;
Das Erzeugen vom Button:
Delphi-Quellcode:
hButton := CreateWindow('BUTTON', 'caption of a button',
        WS_VISIBLE OR WS_CHILD OR WS_BORDER, 100, 100, 200, 24,
        hwnd, IDOK, hInstance, nil);
Und das Abfangen vom Klick auf dem Button:
Delphi-Quellcode:
WM_COMMAND:
      if hiword(wparam) = BN_CLICKED then
      //########################################################################
        if loword(wparam) = IDOK then //HIER HIER HIER
      //########################################################################
          MessageBox(hwnd, 'button pressed', 'Info', 0);
Dann geht das auch.

Den WM_COMMAND-Zweig würde ich aber anderes schreiben, denn wenn du mehrer Controlls hast wird das mit if recht aufwendig und unübersichtlich:
Delphi-Quellcode:
WM_COMMAND:
begin
  if hiword(wparam) = BN_CLICKED then
    case loword(wparam) of
      IDOK: MessageBox(hwnd, 'button pressed', 'Info', 0);
    end;
end;
Jetzt kannst du recht einfach und übersichtlich auf verschiedene Controlls reagieren.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz