Главная страница
    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.46 MB
Время: 0.008 c
1-44255
Бульбаш
2003-04-02 10:40
2003.04.14
Как правильно осуществить переход между полями ввода (Edit)


3-44047
carmen
2003-03-26 07:47
2003.04.14
Какую базу даных посоветуюте.


7-44463
madmike
2003-02-18 13:19
2003.04.14
Надежное определение ОС: 9х или NT..


1-44087
Sirus
2003-04-01 09:51
2003.04.14
Пакеты (Package) и библиотеки DLL в Delphi...


1-44243
Anatoly P
2003-04-02 11:00
2003.04.14
cirillic(Windows), Cirillic(KOI8-R)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский