Autor Beitrag
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: So 10.07.05 17:44 
Kann man den SaveDialog um ein weiteres Element erweitern? Ich bräuchte in diesem Dialog eine Checkbox, wo man eine Option, die beim Speichern benötigt wird, auswählen kann. Diese Box sollte unter dem Feld sein, wo man den Dateinamen angeben kann.
Ich könnte zwar auch den "Dateitypen-Filter" dafür missbrauchen, halte das aber für unschön. Gibts da ne einfache Möglichkeit?


Moderiert von user profile iconGausi: Topic aus Dateizugriff verschoben am So 10.07.2005 um 21:17 - is ja nun doch eher API als Dateizugriff geworden...

_________________
We are, we were and will not be.


Zuletzt bearbeitet von Gausi am So 10.07.05 21:18, insgesamt 1-mal bearbeitet
maxk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1696
Erhaltene Danke: 1

Win XP, Debian Lenny
Delphi 6 Personal
BeitragVerfasst: So 10.07.05 18:21 
Hallo,
du kannst mit dem Handle und nonVCL Kenntnissen eine Checkbox erzeugen. Leider kenn ich mich da nicht so aus :oops: Das hier funktioniert schonmal und einen Buttons habe ich auch schon hinbekommen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.SaveDialog1Show(Sender: TObject);
var H:HWND;
begin
 H:=GetParent(SaveDialog1.Handle);
 SetWindowPos(H,0,0,0,570,450,SWP_NOMOVE or SWP_NOZORDER);
end;
Vielleicht hilft dir das erstmal

Gruß,
maxk

_________________
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 10.07.05 19:50 
Gausi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: So 10.07.05 20:58 
Jo, das war so ziemlich genau das, was ich brauchte. Ich musste mich nur noch durch das heissgeliebte MSDN durchwurschteln, um herauszufinden, wie ich aus dem Edit ne Checkbox mache, und dann war die Schrift auch noch etwas merkwürdig, aber so gehts:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
procedure TForm1.SaveDialog1Show(Sender: TObject);
var
  hParent: THandle;
  rect: TRect;
  hCbox: THandle;
  hFont: THandle;
begin
  // OpenDialog1.Handle ist irgendwie das falsche :?
  hParent := GetParent(SaveDialog1.Handle);
  // Position und Größe ermitteln
  GetWindowRect(hParent, rect);
  // Dialog vergrößern für CBox
  SetWindowPos(hParent, 000, rect.Right - rect.Left, rect.Bottom - rect.Top
    + 30, SWP_NOMOVE);
  hFont := SENDMESSAGE(hParent,WM_GETFONT,0,0);
  // Edit erzeugen, ID = 101
  hCBox := CreateWindowEx(WS_EX_LEFT, 'BUTTON''Anders speichern', BS_AUTOCHECKBOX OR BS_FLAT OR WS_VISIBLE or WS_CHILD,
    195, rect.Bottom - rect.Top - 3525016, hParent, 1010nil);
  if hCBox = 0 then
    RaiseLastOSError;
  SendMessage(hCBox,WM_SETFONT,hFont,0);
end;

procedure TForm1.SaveDialog1Close(Sender: TObject);
var
  hParent: THandle;
begin
  hParent := GetParent(SaveDialog1.Handle);
  if IsDlgButtonChecked(hParent,101) = BST_CHECKED then
    showmessage('Check')
  else showmessage('No Check')
end;

_________________
We are, we were and will not be.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Mo 11.07.05 11:31 
ausblenden Delphi-Quelltext
1:
2:
hCBox := CreateWindowEx(WS_EX_LEFT, 'BUTTON''Anders speichern', BS_AUTOCHECKBOX OR BS_FLAT OR WS_VISIBLE or WS_CHILD,
    195, rect.Bottom - rect.Top - 3525016, hParent, 1010nil);

Das nenne ich doch mal einen sehr guten Titel! :mrgreen:
Gausi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mo 11.07.05 15:57 
Naja, im richtigen Programm steht da natürlich anderes. In etwa sowas wie "Pfade mit Laufwerksbuchstaben speichern".
Es ist halt eine Auswahlmöglichkeit, ob die Daten auf die eine oder andere Art gespeichert werden sollen.

_________________
We are, we were and will not be.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 03.06.10 23:37 
user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
Guck mal hier: www.michael-puff.de/...ippets/OpenDlg.shtml ;)