Dialogresource mit PB 3.94 nutzen

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
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

Beitrag von ts-soft »

Ich glaube, ich habe den Fehler gefunden. Habe die Konstanten für den Dialog, Button und Label gegen feste Werte ausgetauscht.

Code: Alles auswählen

1000 DIALOG 0, 0, 109, 52
LANGUAGE LANG_NEUTRAL, 0
STYLE DS_CENTER | DS_MODALFRAME | DS_SETFONT | WS_BORDER | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE
FONT 9, "Arial"
CAPTION "Über..."
BEGIN
    CONTROL         "PureBasic 3.94  Beta 4                   Feel the ...Pure... Power", 1001, "Static", WS_GROUP | WS_VISIBLE, 19, 7, 102, 20
    CONTROL         "&Okay", 1002, "Button", BS_BOTTOM | BS_CENTER | BS_DEFPUSHBUTTON | BS_TOP | WS_MAXIMIZEBOX | WS_VISIBLE, 35, 30, 50, 15
END
Sollte jetzt funzen, bitte testen
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.
Bild
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 »

Hi ts-soft,

funzt immer noch nicht - ist aber auch klar, denn es verhält sich genau
so wie ich es vermutet habe. Die Konstanten für die Ausrichtung und die Flags sind nicht definiert und deshalb kanns auch nicht gehen sofern man nicht irgendwie den Pfad zu den Includes gesetzt hat und Porc den auch finden kann. Aber mit dem ResourceEditor auf http://radasm.visualassembler.com/projects/ResEd.zip setzt den ganze Käse als direkte Hexwerte und dann compilierts der Porc ohne murren. Super, endlich könnten wir den "Tip of the Day" und als so ein Zeug in angriff nehmen. Klasse Tip von dir.

Gruß und frohes Resourcen-Werkeln
wünscht

FGK
FloHimself
Beiträge: 338
Registriert: 05.09.2004 18:47

Beitrag von FloHimself »

FGK hat geschrieben:Aber mit dem ResourceEditor auf http://radasm.visualassembler.com/projects/ResEd.zip setzt den ganze Käse als direkte Hexwerte und dann compilierts der Porc ohne murren.
ja, und der source ist auch dabei. wenn sich nun jemand hinsetzt der ASM kann, könnte man noch ein Export für PB einfügen.
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 »

Hallo Leute,

im Zusammenhang mit Dialogen aus Resourcen ergibt sich
nun ja das Problem die Steuerelemente mit Daten zu füllen.
z.B. Listboxen, Combos, TabStrips usw. Genau aus dem Grund
ist mir auch aufgefallen daß in der API-Dekleration folgender
wichtiger API-Aufruf zu fehlen scheint SendDlgItemMessage
Sicherlich gehts auch mit der Kombination GetDLGItem und
SendMessage aber warum denn umständlich wenns einfach auch
möglich ist.
Nun meine Frage wie krieg ich diese Dekleration noch in PB rein
oder muß ich gar mit OpenLibrary / CallFunction arbeiten?

Gruß

FGK
Benutzeravatar
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

Beitrag von ts-soft »

Du kannst den API-Aufruf ganz normal benutzen. Syntax:

Code: Alles auswählen

SendDlgItemMessage_(hDlg, nIDDlgItem, Msg, wParam, lParam)
Die Schnellhilfe der IDE fehlt lediglich (leider sehr oft)

Hab gestern auch noch ein wenig experimentiert, kannst Dir ja mal ansehen:
http://purebasic.ts-soft-online.de/dl/dialog_test.exe
Das RC-Skript mit ResEd erstellt, einschließlich versionsinfo, manifest usw. Ist noch nichts richtig brauchbares, aber man tastet sich heran :mrgreen:
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.
Bild
FloHimself
Beiträge: 338
Registriert: 05.09.2004 18:47

Beitrag von FloHimself »

Benutzeravatar
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

Beitrag von ts-soft »

Na, das sieht ja schon mal sehr brauchbar aus :allright:
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.
Bild
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 »

Hi ihr beiden Resourcen-Mitstreiter *ggg

@flohimself

Klasse Leistung!! :allright:

@ts-soft

Hier ein Screenshot meiner Umsetzung des ResoureEdDemos von http://radasm.visualassembler.com Aber irgendwie müssen wir uns noch was einfallen lassen die DlgProcs noch anständig zu kapseln damit die Resourceneinbindung nicht so aufwändig wird. Auch die Befüllung der Daten der einzelenen Steuerelemente ist noch nicht so richtig komfortabel.
Ist dir aufgefallen daß die Toolbar zwar erzeugt wird aber keine Buttons enthält - so wie im ResEd angezeigt? Das artet richt in Arbeit aus, so klick klick ist auch mit Resourcen nix :mrgreen: Ich überleg gerade an ner Idee das Zeug aus ner Data-Resource zu erstellen (Listeinträge, Header, Buttons in Toolbars usw.)

Gruß

FGK


PS: Wer hat mir etwas freien Webspace für meine Beispielprogramme. MeinWebHoster zickt grad rum und läßt mich nicht an meine mir zustehenden 20MB *gggg

Bild

EDIT:

http://home.tiscali.de/pbsource/PB_Stuf ... EdDemo.exe
Zuletzt geändert von FGK am 29.09.2005 15:09, insgesamt 4-mal geändert.
FloHimself
Beiträge: 338
Registriert: 05.09.2004 18:47

Beitrag von FloHimself »

danke ts!

ich finde das erstellen der dialoge mit dem editor ist eine echte
alternative zu den von hand oder mit dem VD erstellten.

selbst bei größeren projekten ist so mal schnell die GUI angepasst,
und es müssen nur noch die "events" in die dialog-proc eingefügt werden.

resed ist spitze, und die common- und custom- controls decken schon
ziemlich viele gui elemente ab.

komisch das dialoge erst jetzt in PB genutzt werden... /:->

vielleicht macht sich ja nochmal jemand die mühe und erstellt noch
ein topic im englischen forum.

EDIT:
danke fgk ;)
Aber irgendwie müssen wir uns noch was einfallen lassen die DlgProcs noch anständig zu kapseln damit die Resourceneinbindung nicht so aufwändig wird. Auch die Befüllung der Daten der einzelenen Steuerelemente ist noch nicht so richtig komfortabel.
habe ich auch schon dran gedacht. vielleicht ala "WaitDialogEvent" etc.!?

das "befüllen" finde ich nicht weiter aufwändig als mit PB funktionen.
geht ja alles per "SendMessage" bzw. "SendDlgItemMessage".
nicht so viel anders. vielleicht einfach mal ein paar wrapper prozeduren
zusammentragen, die für alle common-controls wie die PB prozeduren
funktionieren?


nochmal EDIT:
Ist dir aufgefallen daß die Toolbar zwar erzeugt wird aber keine Buttons enthält - so wie im ResEd angezeigt?
müssen die toolbar-buttons nicht auch einfach nur per "SendMessage"
in die toolbar "eingehängt" werden?


ein letztes mal EDIT:
Ich überleg gerade an ner Idee das Zeug aus ner Data-Resource zu erstellen (Listeinträge, Header, Buttons in Toolbars usw.)
wenn du gerade nichts zu tun hast, :P
schau dir mal bitte RadASM an. im AddIn folder gibts ein toolbarcreator
(TbrCreate.exe). der dürfte ja schnell für PB geschrieben sein.
Benutzeravatar
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

Beitrag von ts-soft »

@FGK
>> Wer hat mir etwas freien Webspace
Du kannst Dir ja mal diesen Thread ansehen: http://forums.purebasic.com/german/view ... t=webspace
Ansonsten könnte ich es bei mir unterbringen, kann Dir aber keine FTP-Zugang geben. Wäre also umständiglich, als E-Mail Anhang an mich, ich pusche es auf den Space und gebe Dir den Link. Würde ich aber machen, hab glaube ich noch mehr als genug Platz.

@FloHimself
>> vielleicht macht sich ja nochmal jemand die mühe und erstellt noch ein topic im englischen forum
3x darfste raten, wer so gut wie kein Englisch kann. Um die Webtranslator nicht zu überlasten :wink: wäre es eine gute Idee, wenn Du dies übernimmst!
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.
Bild
Antworten