Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.14;
Скачать: CL | DM;

Вниз

Управление кнопкой   Найти похожие ветки 

 
turonix ©   (2003-02-16 22:13) [0]

Здравствуйте уважаемые знатоки. Я хочу написать программу,
заставляющую кнопку "пуск" передвигаться по экрану. Но двигатся она естественно только в пределах диспетчера задач.
У меня такой вопрос: можно ли ее каким нибудь образом сделать активной в пределах рабочего стола? И если можно то как?


 
Ich Hasse ©   (2003-02-16 22:27) [1]

1. Делаешь ее Образ (находишь дескриптор и читаешь картинку)
2. Прячешь далеко-далеко (ShowWindow(...,swHide))
3. На WinApi создаешь кнопку
4. Ловишь отрисовку кнопки (созданной) и меняешь на то, что ситал
5. Двигаешь!!!


 
xfrost ©   (2003-02-16 22:48) [2]

Если интересует могу выфложить кусок кода для анимации и прочего извращения над кнопкой "Пуск"


 
Turonix ©   (2003-02-18 23:23) [3]

xfrost, был бы очень благодарен если бы ты это сделал. А то как на WinApi создать кнопку со свойствами кнопки "пуск" мне неизвестно :(


 
Ich Hasse ©   (2003-02-19 22:36) [4]

CreateWindow
вот этой функцией можно создать кнопку!!!

А исходники поищи они в инете везде резбросаны


 
Song ©   (2003-02-19 22:47) [5]

MoveWindow()


 
GRS   (2003-02-19 22:51) [6]

Насчет создания кнопки со свойствами кнопки ПУСК это наверно к 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;



Страницы: 1 вся ветка

Текущий архив: 2003.04.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
3-44058
Dimitry
2003-03-26 12:19
2003.04.14
как без BDE работать с локальными таблицами(с полями Graphics


1-44136
Андрусь
2003-04-03 10:59
2003.04.14
Является ли корректным такое освобождение памяти


1-44128
Delphi-Beginner
2003-04-03 11:33
2003.04.14
вопрос из области использования QReport


14-44448
Sils
2003-03-29 08:58
2003.04.14
святой набор


3-44034
TSa
2003-03-25 23:09
2003.04.14
запросик