@Winduff
hier ein Beispiel für den Zugriff per PB auf die erstellten Gadgets aus ner Resource. SendDlgItemMessage_ ist dein Freund!
Hiermit ist es möglich die ganz normalen SendMessage-Kommandos an
Steuerelemente die innerhalb Resourcen erstellt wurden zu senden. Unterhalb wieder die Resource Datei und PB-Source für das Demo.
Funktionserklärung: Den Text den du in das Edit-Control eingibst wird per Add-Button in das List gadget übernommen.
Viel Spaß damit
FGK
PB-Source
Code: Alles auswählen
; Simples Beispiel für Controls aus Resourcen
; un deren handling mit PB
; erstellt von FGK
;/############################################################################
Procedure GetResDialog(DialogId, *DialogProcedure)
ProcedureReturn DialogBoxParam_(GetModuleHandle_(0), DialogId, 0, *DialogProcedure, 0)
EndProcedure
;/############################################################################
#IDD_DLG1 = 1000
#IDC_LST1 = 1001
#IDC_BTN1 = 1002
#IDC_EDT1 = 1003
#IDC_BTN2 = 1004
; Beispiel einer DialogProcedure
Procedure DlgProc(hDlg, uMsg, wParam, lParam)
Select uMsg
Case #WM_INITDIALOG
MessageBeep_(#MB_ICONINFORMATION)
Case #WM_CLOSE
EndDialog_(hDlg, 0)
Case #WM_COMMAND
id = wParam & $FFFF
Select id
Case #IDC_BTN1
EndDialog_(hDlg, #IDC_BTN1)
Case #IDC_BTN2
Buffer$=Space(256)
SendDlgItemMessage_(hdlg,#IDC_edt1,#EM_GETLINE,0,@Buffer$)
SendDlgItemMessage_(hDlg,#IDC_LST1,#LB_ADDSTRING,0,@buffer$)
EndSelect
EndSelect
EndProcedure
; Aufruf der DialogResource
Select GetResDialog(#IDD_DLG1, @DlgProc())
Case 0
MessageRequester("Dialog-Test", "Dialog wurde geschlossen")
Case #IDC_BTN1
MessageRequester("Dialog-Test", "Benutzer hat Okay gedrückt zum beenden")
EndSelect
Hier die Resource Datei
Code: Alles auswählen
#define IDD_DLG1 1000
#define IDC_LST1 1001
#define IDC_BTN1 1002
#define IDC_EDT1 1003
#define IDC_BTN2 1004
IDD_DLG1 DIALOGEX 6,6,449,268
CAPTION "Resource Dialog Demo 02"
FONT 8,"MS Sans Serif"
STYLE 0x10CF0000
EXSTYLE 0x00000000
BEGIN
CONTROL "",IDC_LST1,"ListBox",0x50010141,26,12,312,172,0x00000200
CONTROL "Exit Demo",IDC_BTN1,"Button",0x50010000,362,240,76,17,0x00000000
CONTROL "",IDC_EDT1,"Edit",0x50010000,28,193,310,11,0x00000200
CONTROL "Add",IDC_BTN2,"Button",0x50010000,346,193,46,13,0x00000000
END