Für die Arbeit mit den Dialog-Elementen bietet das API ein paar spezielle Funktionen. Sie dürfen nicht vergessen, dass z.B. eine Checkbox nun kein eigenständig erzeugtes Fenster sondern ein Teil der Dialog-Ressource ist. Sie müssen also zunächst das Handle des jeweiligen Elementes herausfinden; erst dann können Sie es ansprechen.
Eine der wichtigsten Funktionen dafür ist
IDC_CHECKBOX1 gegeben, dann würden wir mit folgender Zeile ihr Handle bekommen:
hDlgCheckBox := GetDlgItem(hDlg,IDC_CHECKBOX1);
Und ab hier unterscheidet sich der Zugriff auf die Eigenschaften des jeweiligen Controls in nichts mehr von dem, was wir bereits in den jeweiligen Tutorials besprochen haben.
Eine andere Funktion ist
SendMessage", nur dass Sie hier direkt ein Dialog-Element ansprechen können. Wenn wir also den Haken in unsere Checkbox setzen wollen, dann sieht das so aus:
SendDlgItemMessage(hDlg,IDC_CHECKBOX1,BM_SETCHECK,BST_CHECKED,0);
Wir geben also zusätzlich die ID des Steuerelementes an.
Zum Abschluss wollen wir uns ansehen, wie man Text in ein Dialog-Element schreibt und wieder ausliest. Dazu bietet das API die Funktionen
SetDlgItemText(hDlg, IDC_HELLO, 'Hello World!');
Zum Auslesen brauchen wir pchar-Variable, die den Text aufnimmt. Dialog-Handle und Control-ID sind auch hier wieder erforderlich:
ZeroMemory(@szBuffer,sizeof(szBuffer)); GetDlgItemText(hDlg,IDC_HELLO,szBuffer,sizeof(szBuffer)); MessageBox(0,szBuffer,'Ergebnis',MB_OK or MB_ICONINFORMATION);