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

Вниз

Расскажите пожалуйта, что такое Applet   Найти похожие ветки 

 
Galkov ©   (2006-12-27 14:36) [0]

И как с ним бороться....

Потому что сами мы не местные :(( приехали на лечение....
А если серьезно: не профессиональный программист я, а так - по вечерам, в выходные.... :(

Вот пример:

Program test;
uses  windows,messages,kol;

const
 WS_EX_LAYERED=$00080000;
 LWA_COLORKEY=$00000001;

function SetLayeredWindowAttributes(h:Integer;c:TColor;A:Byte;F:DWORD): Boolean; stdcall; external "user32.dll";

type TMainForm=object
 Control:PControl;
 function _OnMes(var Msg: tagMSG; var Rslt: Integer ): Boolean;
end;

function TMainForm._OnMes;
begin
 Result := False;
 if (Msg.message = WM_MOVE) or (Msg.message = WM_SIZE) then
   Applet.BoundsRect := Control.BoundsRect;
end;

var MainForm:TMainForm;

begin
 Applet := NewApplet("Хи-Хи-Хи");
 with MainForm do begin
   Control := NewForm(Applet,"Test").SetSize(200,100);
   Control.onMessage := _OnMes;
   with NewLabel(Control,"Привет участникам автопробега !!!").SetSize(100,20)^ do begin
     Color := clSilver;
     TextAlign := taCenter;
     Align := caBottom;
     Ctl3D := true;
   end;
   Control.ExStyle := Control.ExStyle or WS_EX_LAYERED;
   SetLayeredWindowAttributes(Control.handle, clSilver, 0, LWA_COLORKEY);
 end;
 Run(Applet);
end.


Вопросов, почему прозрачность кривая - не возникает. Возникает: почему Applet видимый ???
И как с этим бороться...

И хочется, конечно, базовую философию этого вопроса освоить, а из исходников это как-то не очень просто :(.
Вот про Align Владимир очень хорошо написал (как есть - за что ему ОГРОМНОЕ спасибо)....


 
Vladimir Kladov   (2006-12-27 21:59) [1]

Кнопка на таск баре. Читайте книгу, там написано.


 
Galkov ©   (2006-12-27 22:54) [2]

Прочитал.
Потому и не пытаюсь делать Applet.visible:=false;

Ну и запостился потому, что не помогает это мне сделать его (Applet) невидимым.
Вроде бы любое окно можно сделать невидимым....

А как ?????


 
Galkov ©   (2006-12-27 22:56) [3]

Может я чего недообъяснил....
В примере поста [1] этого аплета ВИДНО - и это не радует


 
[e]Bu$ter ©   (2006-12-28 00:34) [4]


> Вопросов, почему прозрачность кривая - не возникает.

А вот я бы хотел знать почему она такая, и как её сделать нормальной. Может знает кто-нибудь, есть это в книге?


 
Galkov ©   (2006-12-28 08:52) [5]


> А вот я бы хотел знать почему она такая, и как её сделать
> нормальной

Дык нормальная она...
В дырочку - ты Аплета видишь.
Вот я и спрашиваю, как сделать его невидимым, но чтобы кнопа в таскбаре осталась....


 
Galkov ©   (2006-12-28 11:14) [6]

Ну может так наглядней будет....

Program test;
uses  windows,messages,kol;

const
 WS_EX_LAYERED=$00080000;
 LWA_COLORKEY=$00000001;

function SetLayeredWindowAttributes(h:Integer;c:TColor;A:Byte;F:DWORD): Boolean; stdcall; external "user32.dll";

type TMainForm=object
 Control,Check:PControl;
 function _OnMes(var Msg: tagMSG; var Rslt: Integer ): Boolean;
end;

function TMainForm._OnMes;
begin
 Result := False;
 if ((Msg.message = WM_MOVE)or(Msg.message = WM_SIZE))and(not Check.Checked) then
   Applet.BoundsRect := Control.BoundsRect;
end;

var MainForm:TMainForm;

begin
 Applet := NewApplet("Хи-Хи-Хи");
 with MainForm do begin
   Control := NewForm(Applet,"Test").SetSize(200,120);
   Control.onMessage := _OnMes;
   Check := NewCheckBox(Control,"Lock").SetPosition(10,10);
   with NewLabel(Control,"Привет участникам автопробега !!!").SetSize(100,40)^ do begin
     Color := clSilver;
     TextAlign := taCenter;
     Align := caBottom;
     Ctl3D := true;
   end;
   Control.ExStyle := Control.ExStyle or WS_EX_LAYERED;
   SetLayeredWindowAttributes(Control.handle, clSilver, 0, LWA_COLORKEY);
 end;
 Run(Applet);
end.


 
GR   (2006-12-28 12:40) [7]

MainForm.Control.Brush.BrushStyle := bsClear;


 
[e]Bu$ter ©   (2006-12-28 12:49) [8]

Ага, так наглядней :)

Но всё же не понятно, как можно что-то рисовать (в обработчкике onPaint) на прозрачной форме, и чтоб оно не размазывалось...


 
Galkov ©   (2006-12-28 13:45) [9]


> GR   (28.12.06 12:40) [7]
> MainForm.Control.Brush.BrushStyle := bsClear;

И чего будет ??? Не понял, в общем ... :(


 
GR   (2006-12-28 15:04) [10]

Вставь в код и увидишь!!!


 
Galkov ©   (2006-12-28 17:17) [11]

Ну ясно, я - тупой, вставить не догадался.
GR, сам-то вставлял, или совет "вслепую" ???


 
GR   (2006-12-28 21:51) [12]

Вопрос по теме: что делает это строка??,??
====-----------------------------------------====
       Applet.BoundsRect := Control.BoundsRect;
====-----------------------------------------====


 
Galkov ©   (2006-12-28 22:22) [13]


> GR   (28.12.06 21:51) [12]
> Вопрос по теме: что делает это строка??,??

Если честно, то мне показалось совсем наоборот: НЕ по теме
Зачем эта строка - это один развор, для FAQ-а, к примеру (не читали часом? - там и возможный ответ)

А заявленная тема топика - совершенно другой, ИМХО


 
GR   (2007-01-05 14:01) [14]

> Если честно, то мне показалось совсем наоборот: НЕ по теме
Из за этой строки твой проект как раз и "не выдает то, что тебе надо"!
*
Читал "часом"!! И тебе следует еще раз почитать!
В конце строка предлогают "...или, воспользоваться ... MinimizeNormalAnimated"
Это более подойдет к твоему: "И как с ним бороться...."
Уважаемый Galkov!!!


 
Galkov ©   (2007-01-05 15:18) [15]

Видите ли, уважаемый GR...
Если бы меня интересовал вопрос, как правильно делать анимацию, я именно так и поставил бы вопрос в заголовке топика.
Кстати говоря, анимация после MinimizeNormalAnimated не совсем адекватна, если у некого чела TaskBar вертикален.

Вопрос в том, что теоретически возможны причины для придания Applet-у не нулевых размеров.
Или Ваше утверждение заключается в том, что таковых причин НИКОГДА не возникнет ????
Но тогда ссылки на MinimizeNormalAnimated совершенно недостаточно для аргументации такового.

Осмелюсь заверить Вас, что беседа могла бы быть более продуктивной, если предполагать, что собеседник в состоянии думать более чем на один ход вперед....


 
GR   (2007-01-05 22:05) [16]

Я добавлю:
Ха-Ха!


 
GR   (2007-01-05 22:19) [17]

Да, хотелось помочь человеку не знающему, "что такое applet", программирующему "по вечерам и в выходные" и утверждающему что "беседа могла бы быть более продуктивной, если предполагать, что собеседник в состоянии думать более чем на один ход вперед"!
Человек этот от помощи отказался!
Ну ладно, извинения приняты!!!


 
Galkov ©   (2007-01-05 23:40) [18]

Ну чтобы помочь, необходимо умение понимать о чем спрашивают, ИМХО
Не думал, что для понимания вопроса требуется столь огромное напряжение...

Например, что значительно более интересно: зачем делается постоянным WS_EX_APPWINDOW и меняется по жизни WS_VISIBLE, а не наоборот... И т.п..

Возможно, для такого понимания следует снизить градус снобизма (руководствуюсь содержанием Вашего последнего поста) - не знаю....

Видите ли, мы хоть и из Сибири, но базовое образование нам дают по-лучше многих (если не сказать - ВСЕХ) московских вузов...

Похоже, на этом форуме в базовых вопросах вообще мало кто разбирается :((



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

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

Наверх




Память: 0.49 MB
Время: 0.043 c
8-1162985232
OlDirtyBastard
2006-11-08 14:27
2007.08.12
Label над точками в TChart


9-1157313285
_Razor_
2006-09-03 23:54
2007.08.12
Текстурирование ландшафтов


15-1184583715
StriderMan
2007-07-16 15:01
2007.08.12
Commit


15-1184382310
Riply
2007-07-14 07:05
2007.08.12
Велик могучим С++ языка ! :)


2-1184181072
Скарамуш
2007-07-11 23:11
2007.08.12
Как узнать имя Picture





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