Einzelnen Beitrag anzeigen

BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Großbuchstaben (Shift) bei WM_KEYUP

  Alt 18. Mai 2009, 09:17
Muss es eigentlich direkt eine Postmessage sein?

Habe das in meinem aktuellen Projet für ganze Strings wie folgt gelöst:

in Sendender Unit:
Delphi-Quellcode:
with Datenaustausch do
    begin
      dwData := 0;
      cdData := Length(result) + 1;
      lpData := result;
    end;
  SendMessage(LoaderForm.Handle, WM_COPYDATA, Longint(Handle),
              Longint(@Datenaustausch));
und in Empfangender Unit:
Delphi-Quellcode:

const Nachricht_erhalten = WM_COPYDATA;
...
procedure Nachricht_anzeigen(var MSG: TWMCopyData);message Nachricht_erhalten;
...
procedure TLoaderForm.Nachricht_anzeigen(var MSG: TWMCopyData);
var Datenaustausch: TDatenaustausch;
begin
  // Die Anzeige der einzelnen Mitteilungen soll jetzt in mehreren Zeilen
  // unter dem Label "Bitte warte, ..." angezeigt werden. Dies soll in
  // einer neuen Klasse geschehen, die dynamisch eine bestimmte Anzahl
  // an Labels erstellt, diese auf der Form Plaziert und wenn mehr Nachrichten
  // erscheinen, als dynamisch erzeugbare Labels auf der Form dargestellt werden
  // können, sollen sie chronologisch wieder gelöscht werden.
  HilfsLabel.Caption := String(PChar(Msg.CopyDataStruct.lpData));
  AnzeigeLabel.Left := round((LoaderForm.Width-HilfsLabel.Width)/2);
  AnzeigeLabel.Caption := HilfsLabel.Caption;
  Self.Refresh;
  sleep(200);
end;
könnte das eventuell helfen?

MfG
BAMatze

PS.: Ist natürlich nicht auf meinem Mist gewachsen sondern von einem Threat hier aus der DP, leider kenne ich den Namen des ursprünglichen Autors der Antwort nicht, also lasse ich den hier mal weg.
2. Account Sero
  Mit Zitat antworten Zitat