![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Управление кнопкой
turonix © (2003-02-16 22:13:00)Здравствуйте уважаемые знатоки. Я хочу написать программу,
заставляющую кнопку "пуск" передвигаться по экрану. Но двигатся она естественно только в пределах диспетчера задач.
У меня такой вопрос: можно ли ее каким нибудь образом сделать активной в пределах рабочего стола? И если можно то как?
GRS (2003-02-19 22:51:00) [1]Насчет создания кнопки со свойствамикнопки ПУСК это наверно к BG. А подвигать ее можно очень просто:
//......
var
Form1: TForm1;
StartButton, TaskBar,: hWnd;
r: TRect;
BLeft, BTop, BWidth, BHeight: Integer;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
begin
TaskBar := FindWindow("Shell_TrayWnd", nil); //панель задач
StartButton := FindWindowEx(TaskBar, 0,"Button", nil); //кнопка Пуск
//......
GetWindowRect(StartButton, r); //координаты и размеры кнопки
BLeft := r.Left;
BTop := r.Top;
BWidth := r.Right - r.Left;
BHeight := r.Bottom - r.Top;
//......
Windows.SetParent(StartButton, 0); //кнопка переместится на Desktop
//......
MoveWindow(StartButton,600,100,BWidth,BHeight, TRUE); //кнопка сдвигается вправо на 600 и вниз на 100 пикселей
end;
//......
procedure TForm1.FormDestroy(Sender: TObject); //вернем все назад
begin
MoveWindow(StartButton,1,1,BWidth,BHeight, TRUE);
Windows.SetParent(StartButton, TaskBar);
end;
Song (2003-02-19 22:47:00) [2]MoveWindow()
Ich Hasse (2003-02-19 22:36:00) [3]CreateWindow
вот этой функцией можно создать кнопку!!!
А исходники поищи они в инете везде резбросаны
Turonix (2003-02-18 23:23:00) [4]xfrost, был бы очень благодарен если бы ты это сделал. А то как на WinApi создать кнопку со свойствами кнопки "пуск" мне неизвестно :(
xfrost (2003-02-16 22:48:00) [5]Если интересует могу выфложить кусок кода для анимации и прочего извращения над кнопкой "Пуск"
Ich Hasse (2003-02-16 22:27:00) [6]1. Делаешь ее Образ (находишь дескриптор и читаешь картинку)
2. Прячешь далеко-далеко (ShowWindow(...,swHide))
3. На WinApi создаешь кнопку
4. Ловишь отрисовку кнопки (созданной) и меняешь на то, что ситал
5. Двигаешь!!!