Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
3-44027
Pontic
2003-03-25 17:43
2003.04.14
Alias для Interbase


6-44318
NET_MAN
2003-02-14 13:53
2003.04.14
Насколько мощен TServerSocket !!!???


3-43987
RDA
2003-03-24 11:36
2003.04.14
Проблемы с MS Jet и ADO


14-44396
Anatoly Podgoretsky
2003-03-28 13:00
2003.04.14
Заработало


3-44008
Suharew
2003-03-23 23:05
2003.04.14
SQL- как показать записи из 2-х таблиц





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский