Ich versuche gerade mit der Dialog-Library ein DPI-unabhängiges
Fenster zu erstellen. Es sind damit meine ersten Schritte.
Ich habe bisher folgenden Code erstellt:
Code: Alles auswählen
EnableExplicit
Runtime Enumeration
#myDialogXML
EndEnumeration
Runtime Enumeration
#myDialog
EndEnumeration
Runtime Enumeration
#MainWindow
EndEnumeration
Runtime Enumeration
#Path
#Name
#Get
#URL
#List
EndEnumeration
Define DXML$
DXML$="<?xml version='1.0' encoding='UTF-16'?>" +
"<dialogs>" +
" <window ID='#MainWIndow' flags='#PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_ScreenCentered' text='Test' minwidth='640' minheight='480' name='myWindow'>" +
" <vbox>" +
" <singlebox expand='horizontal' height='24'>" +
" <hbox height='24' >" +
" <string id='#Path' height='24' width='460' name='string_1' text=''/>" +
" <string id='#Name' height='24' width='120' name='string_2' text=''/>" +
" </hbox>" +
" </singlebox>" +
" <singlebox expand='horizontal' height='24'>" +
" <hbox height='24'>" +
" <gridbox columns='2' colexpand='yes' item='1' >" +
; " <singlebox expand='no' width='24' height='24'>" +
" <button id='#Get' width='24' height='24' name='button_1' text='!'/>" +
; " </singlebox>" +
; " <singlebox expand='horizontal' height='24'>" +
" <string id='#URL' height='24' width='640' name='string_3' text=' '/>" +
; " </singlebox>" +
" </gridbox>" +
" </hbox>" +
" </singlebox>" +
" <singlebox expand='yes' align='left'>" +
" <listicon id='#List' name='list_1' text='#' width='600'/>" +
" </singlebox>" +
" </vbox>" +
" </window>" +
"</dialogs>"
If ParseXML(#myDialog, DXML$) And XMLStatus(#myDialogXML) = #PB_XML_Success
If CreateDialog(#myDialog) And OpenXMLDialog(#myDialog, #myDialogXML, "myWindow")
AddGadgetColumn(#List, 1, "Col 1", 100)
AddGadgetColumn(#List, 2, "Col 2", 100)
SendMessage_(GadgetID(#List),#LVM_SETCOLUMNWIDTH,0,48)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
Else
Debug "Dialog error: " + DialogError(#myDialog)
EndIf
Else
Debug "XML error: " + XMLError(#myDialogXML) + " (Line: " + XMLErrorLine(#myDialogXML) + ")"
EndIf
1.
Ich möchte erreichen, daß in der ersten Zeile zwei Stringgadgets nebeneinander
mit der festen Höhe von 24px, aber mit unterschiedlicher Breite erstellt werden.
Gibt es die Möglichkeit die Breite prozentual anzugeben, so daß das erste Gadget
eine Breite von 60% und das zweite Gadget eine Breite von 40% hat?
2.
In der zweiten Zeile sollen ein ButtonGadget und ein Stringgadget nebeneinander
ebenfalls mit der festen Höhe von 24px, das ButtonGadget soll dabei die feste
Breite von 24px haben, während das StringGadget die restliche Breite einnehmen
soll.
In meinem bisher erstellten Code ändert sich immer die Breite des Buttons.
Ich hatte statt mit der GridBox mit zwei SingleBoxes experimentiert, aber ohne
Erfolg.
Bei der GridBox hat die Angabe von item='0', item='1' oder item='2' keine Aus-
wirkung. Trotzdem die Frage: beginnt die Zählung mit 0 oder mit 1?
3.
Die beiden Zeilen mit den StringGadgets sollen ihre y-Position nicht ändern, nur
das ListIconGadget soll die Höhe variieren können.
In meinem Code drittelt sich das Fenster und verschieben bei Größenänderung
ListIconGadget und die Zeile mit Button/StringGadget entsprechend.
Mit HeX0Rs DialogDesign0R V1.69 hatte ich leider auch keinen Erfolg. Deshalb
hatte ich versucht, das Ganze per Hand zu erstellen.
Kann mir da jemand bitte bei meinen ersten Gehversuchen mit der Dialog-Library
helfen und Tips geben?