![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
записи на рабочем столе [D7, 2003]
TruePunk © (2007-07-25 15:43:00)Добрый день! Хочу реализовать что-то типа лабелов на рабочем столе, подскажите куда копать:компоненты, процедуры, функции? ЗЫ: фишку с желтыми стикерами не предлогать!
Elen (2007-07-31 14:17:00) [1]
> нада что бы юзер мог эту запись тягать по рабочему столу
> туда, куда захочет
А если так:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
procedure Label1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
const
Sc_dragmove = $F012;
begin
ReleaseCapture;
Perform(WM_SYSCOMMAND, Sc_dragmove, 0);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
BorderStyle:=bsNone ;
end;
end.
TruePunk (2007-07-31 14:03:00) [2]нада что бы юзер мог эту запись тягать по рабочему столу туда, куда захочет. ЗЫ:Почему текст длиной более 6символов отображаецца кусками?
iXT (2007-07-31 10:28:00) [3]> изображение затрется
Дай, догадаюсь :) Сейчас кто-нить предложит TTimer с интервалом эдак 50-100 :)
Инс (2007-07-31 10:20:00) [4]
> stanislav © (25.07.07 16:20) [1]
Вот только во-первых, изображение затрется, а во-вторых, HDC освобождать нужно
Сергей М. (2007-07-31 09:18:00) [5]
> можно к этому как-нить прикрутить Drag&Drop?
Что и куда "драгдропать" требуется ?
TruePunk (2007-07-31 09:00:00) [6]спасибо! а можно к этому как-нить прикрутить Drag&Drop?
stanislav (2007-07-25 16:20:00) [7]Так ?
procedure TForm1.Button1Click(Sender: TObject);
Var H:Hwnd; DC:HDC; R:Trect;
begin
H:=windows.GetDesktopWindow;
DC:=Windows.GetWindowDC(H);
R.Left:=200;
R.Top:=200;
R.Right:=400;
R.Bottom:=400;
Windows.DrawText(dc,'Label1',6,R,DT_CENTER);
end;