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

Вниз

Бегущая строка   Найти похожие ветки 

 
Василий Петрович   (2003-05-03 11:20) [0]

Здравствуйте мастера! Есть STATIC. Как заставить его текст пробегать слева направо и обратно?


 
AKu   (2003-05-03 12:23) [1]

А сделать таймер и изменять заголовок не пробовал?


 
Василий Петрович   (2003-05-03 12:40) [2]

Дык прога-то на API. А на апи я таймер делать не умею :-(


 
AKu   (2003-05-03 13:06) [3]

MSDN rulez forever!


 
Nick Denry   (2003-05-03 13:09) [4]

SetTimer и KillTimer!
Типа MyTimer:=SetTimer(Form1.Handle,0,50,nil);
и KillTimer(Form1.Handle,MyTimer) и обрабатывать WM_timer


 
Nick Denry   (2003-05-03 13:10) [5]

Забыл - 50 - число миллисекунд!


 
Василий Петрович   (2003-05-03 16:44) [6]

Такс, таймер вроде создал...
Как теперь бы запустить ее красиво?


 
Nick Denry   (2003-05-03 19:52) [7]

Если я правильно понял AKu, то на таймере(wm_timer:) делаешь так:
SendMessage(static //твой static
,wm_settext,0,Integer(PChar(" 1234 ")));
каждый раз с необходимым кол-вом пробелов, наверное........,
типа
wm_settext,0,Integer(PChar("1234 ")));
типа wm_settext,0,Integer(PChar(" 1234")));


 
Василий Петрович   (2003-05-03 20:23) [8]

хех.. так-то я делал... но это очень нерационально... Может у кого-нить какие-нить еще идеи появятся?


 
Morfein   (2003-05-03 20:42) [9]

Угу... даже две идеи!

1. попробуй по таймеру двигать сам STATIC... :))
2. пиши свой компонент.


 
Nick Denrry   (2003-05-03 23:43) [10]

Попробуй еще к тому же на WM_PAINT после этого делать function UpdateWindow(Wnd: HWnd);wnd- form1.handle, к примеру. или что-то похожее со смыслом обновления окна, да и двигать сам компонент действительно круче! ( Описание:
procedure SetWindowPos(Wnd, WndInsertAfter: HWnd; X, Y, cx, cy: Integer; Flags: Word);

Изменяет pазмеp, положение и поpядок окна.

Паpаметpы:
Wnd: Идентификатоp окна.
WndInsertAfter: Пpедыдущее окно в списке администpатоpа окон.
X, Y: Веpхний левый угол.
cx: Новая шиpина окна.
cy: Новая высота окна.
Flags: Флаги установки положения окна.

Пример:
...
if findwindow("TMyWindowClass", nil) <>0 then
SetWindowPos(findwindow("TMyWindowClass", nil),
HWND_BOTTOM,1,1,20,20,SWP_nosize);
...)

2>Morfein - ты на мой бы вопрос так ответил!

2>
> Василий Петрович

а еще у STATIC сделай прозрачный фон: WM_CTLCOLORSTATIC : {Обработка лабелов}
Begin
SetBkMode(Wparam,TRANSPARENT);//Всем Static"ам прозрачный фон
Result:=GetStockObject(Null_Brush);
if (wparam<>0) and (lparam=label2) then /lable1 - белый цвет
begin
SetTextColor(wparam,rgb(255,255,255));
end;





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

Форум: "WinAPI";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
3-7309
yaric
2003-06-09 09:10
2003.07.03
События в Interbase


14-7651
Дмитрий Белькевич
2003-06-15 21:17
2003.07.03
MPL 1.1 - шо за зверь?


3-7324
keymaster
2003-06-05 15:33
2003.07.03
Как работать с удалённой БД?


14-7665
neuro
2003-06-11 19:26
2003.07.03
Кто что пьет и как с этим бороться?


3-7338
shnitken
2003-06-10 11:14
2003.07.03
Как узнать количество строк в dbgrid?





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