Autor Beitrag
Cash
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: Mo 17.03.03 21:28 
Hi@all

Kurze Frage:
Ich kann die vertikale Schrift erstellen, aber wenn ich meinen Code
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
var
i : Integer;
begin
if not (Sender is TButton) then Exit;

with TButton(Sender) do begin
i := GetWindowLong(Handle, GWL_STYLE);
SetWindowLong(Handle, GWL_STYLE, i or BS_MULTILINE);
Caption :=
'B' + #13#10 +
'e' + #13#10 +
'e' + #13#10 +
'n' + #13#10 +
'd' + #13#10 +
'e' + #13#10 +
'n';

Width := 50;
Height := 150;
end;

unter FormActivate schreibe, macht er mir keine vertikale Caption mehr auf dem Button. Wie kann ich es machen, dass die vertikale SChrift von Beginn an beim Starten der Form erstellt wird und nicht erst wie bei mir nach dem Clicken auf dem Sender-button.

Kann mir da einer helfen?

_________________
Ein Sieger gewinnt etwas, ein 'Geschlagener' lernt eine Menge dazu :)
Cash Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: Di 18.03.03 16:00 
Kenn mir denn wirklich keiner helfen :(

_________________
Ein Sieger gewinnt etwas, ein 'Geschlagener' lernt eine Menge dazu :)
Tomac
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 113

Win XP
D6 Ent
BeitragVerfasst: Di 18.03.03 16:14 
Schreib den Code z.B. in das OnClick Ereignis des Buttons und ruf bei form.create mit "button1.click" die Prozedur auf. So geht's bei mir.

mfG
Tomac
Cash Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: Di 18.03.03 16:28 
HI,

Hab ich schon ausprobiert, es funtzt aber nicht :(
Und außerdem stehen einige Dinge in diesem Button, die erst beim clicken des Buttons geschehen sollen. So wie du es vorschlägst, würden alle Anweisungen beim Starten geschehen. Das soll es aber nicht.

_________________
Ein Sieger gewinnt etwas, ein 'Geschlagener' lernt eine Menge dazu :)
MKehrer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 114

NT, 2000
D6
BeitragVerfasst: Di 18.03.03 16:37 
also folgender Code funzt bei mir
ausblenden volle Höhe 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:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
if not (Sender is TButton) then Exit;

with TButton(Sender) do begin
i := GetWindowLong(Handle, GWL_STYLE);
SetWindowLong(Handle, GWL_STYLE, i or BS_MULTILINE);
Caption :=
'B' + #13#10 +
'e' + #13#10 +
'e' + #13#10 +
'n' + #13#10 +
'd' + #13#10 +
'e' + #13#10 +
'n';

Width := 50;
Height := 150;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  button1Click(button1);
end;

end.


Ansonsten nimm einem Timer.
Den stellt Du auf Intervall 1 und sorgt Dafür, daß er nur einmal
aufgerufen wird und dort erledigst Du das gewünschte.

Ist aber nicht die elegante Art so was zu lösen.
Wenn man alten Code mit solchen Schweinereien restaurieren muß (und das muß ich zum Teil) ist man arm dran.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 18.03.03 16:46 
ausblenden Quelltext
1:
2:
3:
4:
5:
procedure TForm1.FormCreate(Sender: TObject);
begin
  SetWindowLong(Button1.Handle, GWL_STYLE, GetWindowLong(Button1.Handle, GWL_STYLE) or BS_MULTILINE);
  Button1.Caption := 'H'+#13#10+'o'+#13#10+'l'+#13#10+'l'+#13#10+'o';
end;

Und das funktionniert bei mir im OnCreate. Ich weiß nicht, was ihr dafür Probleme habt. :shock:
Cash Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: Di 18.03.03 18:37 
Hi,

Komisch wieso funktioniert das von LUCKIE jetzt?! Wieso funtzt meins nicht?

Hab dann noch ne Frage: Kann man die obige Leiste von der Form wo anders positionieren zB an den linken Rand?

_________________
Ein Sieger gewinnt etwas, ein 'Geschlagener' lernt eine Menge dazu :)
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 18.03.03 19:01 
Neue Frage, neuer Thread.

Aber ohne ohne aufwendiges selber zeichnen wird das nichts werden.