Meine GUI

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
winduff
Beiträge: 879
Registriert: 10.02.2006 21:05
Wohnort: Gießen
Kontaktdaten:

Beitrag von winduff »

Hallo FGK,

Danke für dein Beispiel! Ich hatte mich ein bisschen in die Resourcen eingearbeitet, mit dem Resourceneditor, welches auch sehr schön funktioniert.

Wie ich sagte, eine sehr feine sache. Nur die befehle sind mir unklar, weil z.B

Code: Alles auswählen

Case #IDC_BTN1
If #MEINEINGABESTRING = "bla"
messagerequester(....)
Endif
...
nicht gehen würde.... Ist ja auch für alle logisch und ein schlechtes beispiel nur mhmhmmh ich weis wie gesagt nicht wo ich da beispielweise anfangen sollte ;-)

Ich habe nach resourcen-befehlen etc gesucht, aber nirgends gefunden, gibt es direkt resourcen-befehle oder dient diese rein der GUI?

Auch ein wichtiger aspekt, den ich noch nciht finden konnte ist ob ich auch Hintergrundbilder, wie Setbackgroundimage() benuten kann...?!

Liebe Grüße und Danke nochmals an alle

Chris
Benutzeravatar
FGK
Beiträge: 249
Registriert: 09.01.2005 14:02
Computerausstattung: i5-4430 CPU / 8GB RAM
GeForce GT630
Windows 10 Home / 64-bit
Wohnort: Augsburg

Beitrag von FGK »

@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
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Vieleicht ist ja auch das Kapitel MDI mit seinen MDIGadgets() (Fenster im Fenster) interessant für dich!

Sry, wenn das schon kam, ich habe nur di ersten Beiträge gelesen!
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
winduff
Beiträge: 879
Registriert: 10.02.2006 21:05
Wohnort: Gießen
Kontaktdaten:

Beitrag von winduff »

Puhhh soviel auf einmal ;-)

Werde mir alle möglichkeiten mal anschauen und die beste raussuchen und euch drüber informieren wie ich dies gelöst habe ;-)

Danke an euch alle, habt mir sehr geholfen!

Liebe Grüße
Chris
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

winduff hat geschrieben:Werde mir alle möglichkeiten mal anschauen und die beste raussuchen und euch drüber informieren
Hört sich an, als könne man etwas gewinnen, ;-) :allright:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
winduff
Beiträge: 879
Registriert: 10.02.2006 21:05
Wohnort: Gießen
Kontaktdaten:

Beitrag von winduff »

AND51 hat geschrieben:
winduff hat geschrieben:Werde mir alle möglichkeiten mal anschauen und die beste raussuchen und euch drüber informieren
Hört sich an, als könne man etwas gewinnen, ;-) :allright:
ich gewinne daraus sowieso hehe

Ne aber vielleicht auch eine kleine referenz für die zukunft wie man sowas am besten löst... ;-)
Antworten