Sollte kein Problem sein. Entwurf mit Durchmesser 16px unterwegs.ts-soft hat geschrieben:@Thorsten1867
bekommste den zweiten rund? rot und rund, wie die rauf und runter buttons?
Das würde passen
JA!COMMANDER 1.25
- Thorsten1867
- Beiträge: 1360
- Registriert: 04.02.2005 15:40
- Computerausstattung: [Windows 10 x64] [PB V5.7x]
- Wohnort: Kaufbeuren
- Kontaktdaten:
- 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

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.

- HeX0R
- Beiträge: 3040
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
Das Haupticon sieht ziemlich pixelig aus, wenn man die Symbole aufm Desktop groß anzeigen lässt.


{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
- 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
Man hast Du gute Augen, mir fällt das garnicht aufHeX0R hat geschrieben:Das Haupticon sieht ziemlich pixelig aus, wenn man die Symbole aufm Desktop groß anzeigen lässt.

32x32 ist nur drinnen, aber vielleicht Zauber ich noch ein Multiples Vista
Kompatibles Icon.
Ich sollte mir nen Grafiker anstellen

Danke für den Hinweis, mal sehen ob ich da was machen kann.
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.

- HeX0R
- Beiträge: 3040
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
Ich hab nicht mal Vista.ts-soft hat geschrieben: 32x32 ist nur drinnen, aber vielleicht Zauber ich noch ein Multiples Vista
Kompatibles Icon.
Nur haben mir die etwas größeren Symbole von Vista ganz gut aufm Desktop gefallen (der bei mir ziemlich leer ist).
Deswegen habe ich den Desktop irgendwann auf große Symbole umgestellt, und siehe da.....
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
- 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
@HeX0R
Hab mal ein Mehrfachicon reingepackt, weichgezeichnet, evtl. mußte den
Desktopcache löschen, damit Du es sehen kannst.
Der Lister hat jetzt einen HexViewer erhalten, basierend auf dem Source,
den al90 auch im PureFileMaster nutzt, danke nochmal dafür
Hier mal ein DemoPlugin in PB, so wie es später im PFM, JA!COMMANDER
und hoffentlich auch im TC funktioniert. Es sind nur die beiden wichtigsten
Funktionen, autom. Konfiguration im TC ist so nicht möglich
ListLoad(ParentWin, File.s, Flags)
ParentWin ist das Control, welches das Plugin darstellt.
Für den PluginEntwickler nur wichtig, weil dieses Handle für SetParent be-
nötigt wird. Wenn dieser Parameter 0 ist, sollte das Plugin sein eigenes
Fenster darstellen, ansonsten bleibt das versteckt.
File.s ist die für das Plugin bestimmte Datei.
Die Flags werden zur Zeit nicht unterstützt.
Zurückgeben sollte die DLL das Handle des Containers, in dem das Plugin sitzt.
ListCloseWindow(ListWin)
Diese Funktion ist zum aufräumen des Plugins.
Wenn Ihr Fragen habt oder Vorschläge habt, einfach los 
// geändert
Syntax korrigiert
Hab mal ein Mehrfachicon reingepackt, weichgezeichnet, evtl. mußte den
Desktopcache löschen, damit Du es sehen kannst.
Der Lister hat jetzt einen HexViewer erhalten, basierend auf dem Source,
den al90 auch im PureFileMaster nutzt, danke nochmal dafür

Hier mal ein DemoPlugin in PB, so wie es später im PFM, JA!COMMANDER
und hoffentlich auch im TC funktioniert. Es sind nur die beiden wichtigsten
Funktionen, autom. Konfiguration im TC ist so nicht möglich

ListLoad(ParentWin, File.s, Flags)
ParentWin ist das Control, welches das Plugin darstellt.
Für den PluginEntwickler nur wichtig, weil dieses Handle für SetParent be-
nötigt wird. Wenn dieser Parameter 0 ist, sollte das Plugin sein eigenes
Fenster darstellen, ansonsten bleibt das versteckt.
File.s ist die für das Plugin bestimmte Datei.
Die Flags werden zur Zeit nicht unterstützt.
Zurückgeben sollte die DLL das Handle des Containers, in dem das Plugin sitzt.
ListCloseWindow(ListWin)
Diese Funktion ist zum aufräumen des Plugins.
Code: Alles auswählen
UseJPEGImageDecoder()
Global win, img, btn, con
Procedure Win_CB(hWnd, uMsg, wParam, lParam)
Protected File.s, pic, Result = #PB_ProcessPureBasicEvents
Select uMsg
Case #WM_SIZE
ResizeGadget(img, #PB_Ignore, #PB_Ignore, GadgetWidth(con), GadgetHeight(con) - 50)
ResizeGadget(btn, GadgetWidth(con) / 2 - 30, GadgetHeight(con) - 40, #PB_Ignore, #PB_Ignore)
Case #WM_COMMAND
If wParam & $FFFF
Select GetDlgCtrlID_(lParam)
Case btn
File = OpenFileRequester("","","",0)
If File
pic = LoadImage(#PB_Any, File)
ResizeImage(pic, GadgetWidth(img), GadgetHeight(img))
SetGadgetState(img, ImageID(pic))
EndIf
EndSelect
EndIf
EndSelect
ProcedureReturn Result
EndProcedure
ProcedureDLL ListLoad(ParentWin, File.s, Flags)
win = OpenWindow(#PB_Any, 0, 0, 322, 150, "PluginDemo", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_Invisible)
If win
con = ContainerGadget(#PB_Any, 0, 0, WindowWidth(win), WindowHeight(win), #PB_Container_BorderLess)
img = ImageGadget(#PB_Any, 0, 0, 0, 0, ImageID(LoadImage(#PB_Any, File)))
btn = ButtonGadget(#PB_Any, 0, 0, 60, 30, "...")
CloseGadgetList()
SetWindowCallback(@Win_CB())
If ParentWin
SetParent_(GadgetID(con), ParentWin)
ProcedureReturn GadgetID(con)
Else
HideWindow(win, #False)
EndIf
EndIf
EndProcedure
ProcedureDLL ListCloseWindow(ListWin)
FreeGadget(con)
CloseWindow(win)
EndProcedure

// geändert
Syntax korrigiert
Zuletzt geändert von ts-soft am 11.05.2009 16:25, insgesamt 1-mal geändert.
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
hier ein testcode, damit man sieht das es funktioniert:
//geändert
Testcode angepaßt
Code: Alles auswählen
EnableExplicit
OpenWindow(0, 0, 0, 640, 480, "test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_SizeGadget)
ContainerGadget(0, 0, 0, 0, 0)
Define ListWin
If OpenLibrary(0, "plugin.dll")
ListWin = CallFunction(0, "ListLoad", GadgetID(0),#PB_Compiler_Home + "Examples\Sources\Data\PureBasic.bmp", 0)
If ListWin
MoveWindow_(ListWin, 0, 0, GadgetWidth(0), GadgetHeight(0), 1)
EndIf
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
CallFunction(0, "ListCloseWindow", ListWin)
CloseLibrary(0)
Break
Case #PB_Event_SizeWindow
ResizeGadget(0, 0, 0, WindowWidth(0), WindowHeight(0))
If ListWin
MoveWindow_(ListWin, 0, 0, GadgetWidth(0), GadgetHeight(0), 1)
EndIf
EndSelect
ForEver
Testcode angepaßt
Zuletzt geändert von ts-soft am 11.05.2009 16:26, insgesamt 1-mal geändert.
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.

Gerne geschehen.ts-soft hat geschrieben:Der Lister hat jetzt einen HexViewer erhalten, basierend auf dem Source,
den al90 auch im PureFileMaster nutzt, danke nochmal dafür![]()

Werde mich mal langsam darin einarbeiten.Hier mal ein DemoPlugin in PB, so wie es später im PFM, JA!COMMANDER
und hoffentlich auch im TC funktioniert. Es sind nur die beiden wichtigsten
Funktionen, autom. Konfiguration im TC ist so nicht möglich![]()

BTW:
Ich wollte mir gerade mal das listplugin.hlp durchlesen und musste
feststellen das ich die WinHlp32.exe für Vista erst extra vom MS Server
laden muss. Und dann auch noch vorher mit der dämlichen Gültigkeitsprüfung.

- 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
Erstmal genügen ja die beiden Funktionen, das was noch fehlt läßt sichal90 hat geschrieben: Werde mich mal langsam darin einarbeiten.
BTW:
Ich wollte mir gerade mal das listplugin.hlp durchlesen und musste
feststellen das ich die WinHlp32.exe für Vista erst extra vom MS Server
laden muss. Und dann auch noch vorher mit der dämlichen Gültigkeitsprüfung.
sowieso im moment nicht umsetzen, Druck-Routinen usw. hab ich nicht,
und die Dateitypen, für die das Plugin dann zuständig ist, kann man auch in
seinen Prefs festlegen. Wichtig ist, das die Plugins verschiebbar sind, weil
anhand der Reihenfolge wird die Zuordnung ausgeführt. Also das erste
Plugin, das für *.bmp eingestellt ist, wird genutzt, bei einem nachfolgendem
Plugin kommt die Datei daher nicht an.
// Nachtrag:
Ist hoffentlich jedem klargeworden, das für Events nur das Callback zur
Verfügung steht! Anhand des Beispiels sollte man das normalle Eventloop
ins Callback übertragen können

Das ist aber auch schon der einzige Unterschied zur normalen
PB-Programmierung. Im allgemeinen hat so ein Plugin ja auch nicht soviel
Gadgets.
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.

Ok ich werde mich die nächsten Tage mal damit befassen. Hast ja eints-soft hat geschrieben:Das ist aber auch schon der einzige Unterschied zur normalen
PB-Programmierung. Im allgemeinen hat so ein Plugin ja auch nicht soviel
Gadgets.
schönes beispiel gemacht wo ich mit klar kommen müsste. Ansonsten
frage ich nochmal nach.
