Registriert seit: 20. Feb 2006
33 Beiträge
|
dynamisch den Text eines Labels ändern
20. Mär 2006, 17:29
Hallo,
ich habe ein Problem mit dem folgenden Programm.
Ich würde gerne den Text meines Labels zur Laufzeit ändern, und habe auch schon gemerkt, dass es so wohl nicht geht..
Hilft mir jemand?
Delphi-Quellcode:
program StaticText;
{$R resource.res}
uses
Windows,
Messages,
SysUtils;
const
ClassName = 'WndClass';
AppName = 'Label-Demo';
WindowWidth = 200;
WindowHeight = 130;
Fontname = 'MS Sans Serif';
FontSize = -12;
const
IDC_LABEL1 = 1;
IDC_LABEL2 = 2;
var
hwndLabel1: DWORD;
hwndLabel2: DWORD;
MyFont: HFONT;
{Fensterfunktion}
function WndProc(hWnd: HWND; uMsg: UINT; wParam: wParam; lParam: LParam):
lresult; stdcall;
var
i:integer;
ausdruck:pchar;
//x, y : integer; //Variablen für Fensterposition
begin
Result := 0;
case uMsg of
WM_CREATE:
begin
{Label erstellen}
for i:=1 to 2 do
if i=1 then ausdruck:='1';
if i=2 then ausdruck:='2';
begin
hwndLabel1 := CreateWindowEx(0, 'STATIC', ausdruck,
WS_VISIBLE or WS_CHILD, 15, 25, 160, 20, hWnd, IDC_LABEl1, hInstance,
nil);
end;
end;
WM_DESTROY: PostQuitMessage(0);
else
Result := DefWindowProc(hWnd, uMsg, wParam, lParam);
end;
end;
var
{Struktur der Fensterklasse}
wc: TWndClassEx = (
cbSize : SizeOf(TWndClassEx);
Style : CS_HREDRAW or CS_VREDRAW;
lpfnWndProc : @WndProc;
cbClsExtra : 0;
cbWndExtra : 0;
hbrBackground : COLOR_APPWORKSPACE;
lpszMenuName : nil;
lpszClassName : Classname;
hIconSm : 0;
);
msg: TMsg;
begin
{Fenster registrieren}
RegisterClassEx(wc);
{Fenster anzeigen}
CreateWindowEx(0, ClassName, AppName, WS_CAPTION or WS_VISIBLE or WS_SYSMENU,
CW_USEDEFAULT, CW_USEDEFAULT, WindowWidth, WindowHeight, 0, 0, hInstance,
nil);
{Nachrichtenschleife starten}
while GetMessage(msg,0,0,0) do
begin
TranslateMessage(msg);
DispatchMessage(msg);
end;
ExitCode := msg.wParam;
end.
|
|
Zitat
|