File- Open / Save Requester verbessern ... wie?

Hier kann alles mögliche diskutiert werden. Themen zu Purebasic sind hier erwünscht.
Flames und Spam kommen ungefragt in den Mülleimer.
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

File- Open / Save Requester verbessern ... wie?

Beitrag von Xaby »

Hab im Office was gesehen, was ich gern für alle meine Programme haben möchte. Es müsste also igrendwie eine Software sein, die den Standard-File-Reqeuster verändert und die Funktionen des Office-Requesters hinzufügt.
Wenn ich selbst Programme schreibe, könnte ich mir ja einen eigenen Requester machen, aber was ist mit den schon vorhandenen Programmen, die das halt nicht haben?

Normal:

Bild

Office 2003:

Bild
Bild

Ulead PhotoImpact
Bild
Bild

Jemand eine Idee? Eine Art Hack oder Crack.
Vielleicht sowas wie Worktune
http://leolasoft-herter.de/Download.html

Das ist vielleicht nur ein Eintrag in die Registry, aber cool ist es schon.
Zwar noch nicht meine Verknüpfungen genutzt, weil sie halt nicht in der Spalte links beim Laden oder Speichern angezeigt werden, aber sowas in der Richtung ....

Vista erlaubt es ja auch Verknüpfungen direkt zu bilden.

Ich mache es zurzeit so, dass ich in meinem eigene Dateien Ordner Verknüpfungen habe. Aber das ist noch umständlich und unübersichtlich.

Man sollte sowas wie die Favoriten beim Explorer haben.
Nur halt in diesem Requester.

... Kennt sich da jemand aus?

Dank euch :allright:
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
D@nte
Beiträge: 324
Registriert: 24.04.2007 15:33
Wohnort: Berlin

Beitrag von D@nte »

Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Sieht gut aus, dank dir.

Gruß, Folker :allright:

Leider scheint es wirklich nur für 5 Verknüpfungen gehen.
Mmmm. Aber ich könnte eine Verknüpfung zu meinen Verknüpfungen machen. Dann geht es vielleicht :shock:

Vielleicht gibt es ja demnächst einen offiziellen neuen FileRequester von PB :?


>> Wie du bei dem PhotoImpact Requester siehst, ist es ein erweiterter Standard-Requester.

Wie ist sowas möglich? Es muss ein Standard-Requester sein, weil die Registereinträge auf die Symbole links Einfluss haben!

:shock:
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
Leonhard
Beiträge: 602
Registriert: 01.03.2006 21:25

Beitrag von Leonhard »

Mann kann bei der erstellung des Requestors einen Callback (wenn man ihn mi WinAPI startet) einfügen. Damit ist dann die Veränderung des Requestors bestimmt möglich.
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Mmmm, ich kenn mich mit Callbacks nicht aus :roll:

Aber mich regt es auf, dass ich zum Beispiel manchmal Favoriten zum Speicherort-Wählen habe und dann wieder nicht.

Eine weitere Idee wäre, es irgendwie in das Zweite-Maustaste-Menü einzufügen.

Bild

So wie: Zuletzt geöffnete Dateien (nur halt mit Ordnern)
Oder wenn man einen Verlauf hätte und nur Ordner angezeigt werden.

Bei Vista ist das auch noch nicht ideal. Ist zu unüberlichtlich und zu klein oder zu groß.

Eine Art angehängtes DOCK, was immer unter dem FileRequester mit erscheint. Vielleicht 10 Symbole oder so.

Und wenn man eins anklickt, dann wird automatisch der Ordner in das Eingabe-Feld eingefügt.

:?

Oder wie gesagt: Zweite-Maustaste-Menü und da dann die 10 Ordner.
Einfach so wie die Favoriten, die sind allerdings nur im Explorer aber nicht im Requester. Ein Symbol neben AUFWÄRTs und NEUER-ORDNER.

Zurzeit geht es wie im ScreenShot. Mein Bilder-Ordner ist eine Verknüpfung zu einem Ordner, der Verknüpfungen enthält.
So kann ich schnell meinen Bilder-Ordner auswählen.

Problem nun ist aber, dass gerade im Fotoprogramm meine Leiste mit den großen Symbolen links nicht da ist. (Die Schw**n*)

:cry:
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
Ligatur
Beiträge: 196
Registriert: 09.07.2006 00:41

Beitrag von Ligatur »

Das verändern von Requestern kann so viel ich weiß nicht bei Purebasic Requestern gemacht werden, da man da keinen Zugriff auf die OPENFILENAME - Struktur hat. Man muß wohl eher ein Requester über die API - Funktion GetOpenFileName_(@ofn) erstellen. dafür muß erst eine OPENFILENAME - Struktur ausgefüllt werden, bei der bei Flags #OFN_ENABLETEMPLATE gesetzt sein muß und unter lpTemplateName die ID einer Dialogressource eingegeben werden muß, die vorher unter Compileroptionen eingebunden werden muß. Dieser Dialog erscheint dann als Childwindow im Filerequester.
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

nichts einfacher als das :mrgreen:

:? :oops: /:-> :cry: :roll: :freak: :| >_< :praise: :doh: :lamer: :bluescreen: >:) :angry: :(
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
Ligatur
Beiträge: 196
Registriert: 09.07.2006 00:41

Beitrag von Ligatur »

Naja, einfach ist es nicht. Ich habe das mal getestet mit folgendem Programm:

Code: Alles auswählen

Define ofn.OPENFILENAME

hwnd = OpenWindow(0, 0, 0, 640, 480, "DialogTemplate", #PB_Window_SystemMenu)
CreateGadgetList(hwnd)
ButtonGadget(0, 10, 10, 80, 30, "Dialog")

Ende = #False

Filter.s ="Alle Dateien" +Chr(0) + "*.*" + Chr (0) + Chr(0)
InitFile.s{256} = Chr(0)
Dialog.s = "#101"
With ofn
	\lStructSize = SizeOf(OPENFILENAME)
	\hwndOwner = hwnd
	\hInstance = GetModuleHandle_(0)
	\lpstrFilter = @Filter
	\lpstrCustomFilter = 0
	\nMaxCustFilter = 1
	\nFilterIndex = 0
	\lpstrFile = @InitFile
	\nMaxFile = 256
	\lpstrFileTitle = 0
	\nMaxFileTitle = 0
	\lpstrInitialDir = 0
	\lpstrTitle = 0
	\Flags = #OFN_EXPLORER | #OFN_ENABLETEMPLATE
	\nFileOffset = 0
	\nFileExtension = 0
	\lpstrDefExt = 0
	\lCustData = 0
	\lpfnHook = 0
	\lpTemplateName = @Dialog
EndWith

Repeat
	Select WaitWindowEvent()
		Case #PB_Event_Gadget
			If EventGadget() = 0
				GetOpenFileName_(@ofn)
			EndIf
		Case #PB_Event_CloseWindow
			Ende = #True
	EndSelect
Until Ende
Die Ressourcendatei namens OpenDialog.rc sieht so aus:

Code: Alles auswählen

#include "resource.h"

IDD_DIALOG1 DIALOG DISCARDABLE  0, 0, 186, 90
STYLE 128 | 4 | 1024 | 1073741824 | 1 | 67108864
FONT 8, "MS Sans Serif"
BEGIN
    CONTROL         "",IDC_STATIC,"Static",7,7,7,76,76
    EDITTEXT        IDC_EDIT1,90,7,89,12,128
    EDITTEXT        IDC_EDIT2,90,22,89,12,128
END
Und ressource.h so:

Code: Alles auswählen

#define IDD_DIALOG1                     101
#define IDC_EDIT1                       1000
#define IDC_EDIT2                       1001
#define IDC_STATIC                      69
.
Es funktioniert auch im Prinzip, nur wird die Schnellauswahl auf der linken Seite nicht mehr angezeigt und nur die Steuerelemente werden nach unterhalb der Standardsteuerelemente verlegt und der Rest des Child -Fensters beginnt bei 0. Weiß jemand, wie man auch das noch berichtigen kann?
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

CopyDings Anfang:

http://www.purebasic.fr/german/viewtopic.php?t=13247

Vielleicht kann man es irgendwann so ummodeln, dass es direkt in den FileRequester schreibt.

vielleicht so:
http://www.purebasic.fr/german/viewtopi ... er+colours

Oder mit dem PureDispHelper ...
Das man einfach durch ein externes Programm den Pfad, den man haben möchte an den Requester sendet.

:?
Kinder an die Macht http://scratch.mit.edu/
Antworten