Autor Beitrag
ak
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 240

Suse Windows 9 XP
D6 Professional
BeitragVerfasst: Di 01.07.03 09:04 
Hallo Leute,

wie kann ich ein Memofeld per klick vergrössern oder aufklappen lassen? Ich habe in meinem Formular ein Memofeld was ich beschreiben kann, da es aber manchmal zu klein ist, soll es per klick vergrössert werden können (natürlich zur Laufzeit). Die Scrollbalken finde ich nicht so toll.

Gruß AK
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: Di 01.07.03 09:21 
Hi,

einfach die Eigenschaften Width und Height verändern:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Width := Memo1.Width + 100;
  Memo1.Height := Memo1.Height + 100;
end;


MFG

- Ernesto -
kiwicht
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Di 01.07.03 09:23 
vielleicht hilft das?

im OnClick-Ereigniss des MemoFeldes einfach ne Größenänderung vornehmen:
z.B:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TMain.Memo1Click(Sender: TObject);
begin
Memo1.Width := Memo1.Width + 100
Memo1.Height := Memo1.Height + 100
end;


und damit das ganze wieder in die andere Richtung funzt folgendes im OnExit-Ereigniss:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TMain.Memo1Exit(Sender: TObject);
begin
Memo1.Width := Memo1.Width - 100;
Memo1.Height := Memo1.Height - 100;
end;


mfG




//EDIT
hmm.... zu langsam.... ich werde alt :cry:
ak Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 240

Suse Windows 9 XP
D6 Professional
BeitragVerfasst: Di 01.07.03 10:39 
Ich habe das jetzt mal probiert und ich kann das memofeld mit dieser Prozedur auf und zuklappen lassen :
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
begin
  if memo1.Width = 177 then begin
    memo1.Width:= memo1.Width + 100;
    memo1.Height:= memo1.Height + 100
  end
  else begin
    memo1.Width:= memo1.Width - 100;
    memo1.Height:= memo1.Height - 100;
  end;

end;

nur werden die Buttons die sich um das Memofeld herum befinden nicht überdeckt. Wie kann ich diese Buttons überdecken lassen?

Gruß ak


Zuletzt bearbeitet von ak am Di 01.07.03 10:48, insgesamt 1-mal bearbeitet
kiwicht
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1021

Win 7, MacOS
Delphi x, VBA, PHP, ...
BeitragVerfasst: Di 01.07.03 10:42 
ak hat folgendes geschrieben:
klar das würde gehen, aber dann "verschieben" sich doch auch die andern Komponenten im Formular bzw. in der Groupbox.


tun sie eigentlich nicht, ich habs eben selber ausprobiert. Ausser natürlich die anderen Komponenten richten sich nach dem Memo-Feld aus.

Also, Ausrichten ausschalten, und alles ist in Butter! :D

mfG

//EDIT:

Oder, andere Möglichkeit: Extra-Formular öffnen, in welchem sich das Memo-Feld befindet.
Oder, noch ne Lösung: Die Schriftart kleiner machen, wenn man auf das Memo klickt:
Memo1.Font.Size := 3; :shock:

ps:
Ernesto = 2
Kiwicht = 1 :autsch:
ak Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 240

Suse Windows 9 XP
D6 Professional
BeitragVerfasst: Di 01.07.03 10:50 
Die Idee mit einem Extraformular welches "aufploppt" ist gut...
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Di 01.07.03 11:28 
öffne doch das memo-fenster gleich maximiert und pass die größe des memo an das fenster an.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure Tmemoform.onresize(Sender: TObject); 
begin 
Memo1.Width := memoform.Width - 10 
Memo1.Height := memoform.Height -10
{rand muss sein *g*} 
end;

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
Sarkatas
Hält's aus hier
Beiträge: 10


Delphi, VBA, C, C++, Java
BeitragVerfasst: Sa 10.01.04 19:28 
Zitat:
nur werden die Buttons die sich um das Memofeld herum befinden nicht überdeckt. Wie kann ich diese Buttons überdecken lassen?

Dazu:
ausblenden Quelltext
1:
Memo1.BringToFront;					


Gruß, Sarkatas

_________________
"Wein oder Kaffee, also das ist nicht so mein Ding..."