#PB_any mit WinApi
#PB_any mit WinApi
Hallo wie kann ich eine ID für CreateWindowEx ermitteln die noch nicht existiert?
- NicTheQuick
- Ein Admin
- Beiträge: 8809
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Simples Beispiel:
Code: Alles auswählen
; HWND CreateWindowEx( DWORD dwExStyle,
; LPCTSTR lpClassName,
; LPCTSTR lpWindowName,
; DWORD dwStyle,
; int x,
; int y,
; int nWidth,
; int nHeight,
; HWND hWndParent,
; HMENU hMenu,
; HINSTANCE hInstance,
; LPVOID lpParam
; );
Global Button1.l, hWndParent.l, hInstance.l
Procedure MyWindowCallback(WindowID, Message, wParam, lParam)
Result = #PB_ProcessPureBasicEvents
Select Message
Case #WM_COMMAND
Select lParam
Case Button1
Debug "Button1"
EndSelect
EndSelect
ProcedureReturn Result
EndProcedure
If OpenWindow(0, #PB_Ignore, 0, 150, 50, "TestFenster")
hWndParent = WindowID(0) ; Parent ist das Hauptfenster
hInstance = GetModuleHandle_(0)
Button1 = CreateWindowEx_(#Null, "Button", "Drück mich", #WS_CHILD | #WS_VISIBLE, 35, 10, 80, 25, hWndParent, 0, hInstance, #Null)
SetWindowCallback(@MyWindowCallback(), 0)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
hMenu ist normallerweise #NULLKonne hat geschrieben:Mit ID meine ich:
HMENU hMenu,
Ansonsten wird es nur für Dialogfenster gebraucht, PB erstellt aber nur
Windows, keine Dialogfenster. Diese ID bekommste mit GetDlgCtrlID_ vom
übergeordneten Control, wovon Deins Parent sein soll. Für mich höchst
unwahrscheinlich das sowas für PB gebraucht wird

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
