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

Вниз

Application.title   Найти похожие ветки 

 
Dib@zol ©   (2007-08-03 09:45) [0]

В ВЦЛ присутствует такая харошая фича, к-рую на апи мне пока реализовать не удалось...
А именно: текст который присутствует на кнопке проги в таскбаре, может отличаться от заголовка окна. Как это реализовано.
ЗЫ пробовал смотреть Application.SetTitle, но тока ещё больше запутался :)
Это конечно можно сделать и так: добавить невидимое окно - родитель, а уж все видимые будут его потомками. Но хотелось бы менее зверских способов... Есть такие?


 
clickmaker ©   (2007-08-03 09:50) [1]

Application.Handle - главное скрытое окно - таскбар
MainForm.Handle - главная форма <> главному окну


 
Dib@zol ©   (2007-08-03 09:51) [2]

Мдя... Ну так я вощем то и думал :(


 
Инс ©   (2007-08-03 10:13) [3]


> Dib@zol ©   (03.08.07 09:45)


Мне кто-нибудь когда-нибудь объяснит зачем писать в Delphi на чистом API? Может это действительно так важно и я сейчас брошусь переделывать все свои проекты! :)


 
Riply ©   (2007-08-03 10:20) [4]

>[3] Инс ©   (03.08.07 10:13)
>Мне кто-нибудь когда-нибудь объяснит зачем писать в Delphi на чистом API?
Когда "акромя Делфя" ничего не знаешь :)
P.S.
как я, например :(


 
Dib@zol ©   (2007-08-03 10:29) [5]

> Мне кто-нибудь когда-нибудь объяснит зачем писать в Delphi
> на чистом API?

Размеры прог сравни. И удивись!!! ;)


 
Riply ©   (2007-08-03 10:32) [6]

> [5] Dib@zol ©   (03.08.07 10:29)
>Размеры прог сравни. И удивись!!! ;)
Размеры никого не удивят. Вопрос, если я правильно поняла, был в другом:
зачем писать именно на Delphi ?


 
DVM ©   (2007-08-03 10:35) [7]


> Инс ©   (03.08.07 10:13) [3]


> Мне кто-нибудь когда-нибудь объяснит зачем писать в Delphi
> на чистом API?

1) В основном ради самообразования хотя бы. WinAPI он был и будет. А всякие там VCL, MFC и прочие надстройки над ним приходят и уходят.

2) Меньший размер исполняемого файла программы. Хотя это не очень актуально сейчас, но все же. Правда в памяти программа такая занимает не меньше а зачастую и больше места, чем программа на VCL.

3) Более высокая скорость работы. Тоже не очень существенно в большинстве случаев.

4) Не все далеко можно сделать средствами VCL. Иногда VCL как корове седло - мешает только.


 
Dib@zol ©   (2007-08-03 10:35) [8]

> зачем писать именно на Delphi ?

А почему бы и нет? Раз поддерживает - фигли не пользоваться?
А вообще дельфи (если быть точным, Паскаль) - это один из самых логично построенных (и что главное самых читабельных!) языков программирования. Вот кто мне ответит, ЧТО будет делать вот эта мура? (С++)
for(;P("\n").R-;P("\ "))for(e=3DC;e-;P("_ "+(*u++/8)%2))P("| "+ (*u/4)%2);


 
DVM ©   (2007-08-03 10:38) [9]


> Вот кто мне ответит, ЧТО будет делать вот эта мура? (С++)
> for(;P("\n").R-;P("\ "))for(e=3DC;e-;P("_ "+(*u++/8)%2))P("|
> "+ (*u/4)%2);

Супер!


 
Ping   (2007-08-03 10:38) [10]

Размеры прог сравни. И удивись!!! ;)

Купил три винчестера по 320 ГБ. На один из них поставил ОС. Плюс - программы разные. Сижу, думаю чем бы оставшиеся 312 ГБ занять. И еще по 320 ГБ на двух других винтах. Удивляюсь...


 
clickmaker ©   (2007-08-03 10:40) [11]


> Сижу, думаю чем бы оставшиеся 312 ГБ занять

поставь висту, полное собрание сочинений MSDN, Delphi 2007...


 
Игорь Шевченко ©   (2007-08-03 10:41) [12]

На API писать незачем. На API пишут в двух случаях - когда детство играет и когда программа не имеет интерфейса пользователя.


 
Dib@zol ©   (2007-08-03 10:44) [13]

> [12] Игорь Шевченко ©   (03.08.07 10:41)

Вот уж от кого не ожидал...


 
Игорь Шевченко ©   (2007-08-03 10:45) [14]

Dib@zol ©   (03.08.07 10:44) [13]

Ты пишешь по первой причине


 
DVM ©   (2007-08-03 10:47) [15]


> На API писать незачем. На API пишут в двух случаях - когда
> детство играет и когда программа не имеет интерфейса пользователя.
>

Еще когда по-каким либо причинам надо создать код, способный компилироваться не только в продуктах от борланда, но и в других компиляторах - FreePascal например. Тащить во FreePascal VCL нельзя - нарушается лицензия.

Еще вполне может быть использована отличная от VCL надстройка над API.


 
Игорь Шевченко ©   (2007-08-03 10:51) [16]

DVM ©   (03.08.07 10:47) [15]

Отчасти.


 
Плохиш ©   (2007-08-03 11:15) [17]


> Мне кто-нибудь когда-нибудь объяснит зачем писать в Delphi
> на чистом API?

Религия

> Размеры прог сравни. И удивись!

И чего там удивляться? Сравни затраты на разработку и удивись ещё больше..
Я ж говорю - религия.


 
SpellCaster   (2007-08-03 11:30) [18]

> Мне кто-нибудь когда-нибудь объяснит зачем писать в Delphi
> на чистом API?

А для чего изучают HTML, если есть конструктор сайтов на народе? Тоже мне, блажь какая.


 
Плохиш ©   (2007-08-03 11:32) [19]


> А для чего изучают HTML, если есть конструктор сайтов на
> народе?

А кто-такой этот "народ", на котором есть конструктор сайтов?


 
DVM ©   (2007-08-03 11:34) [20]


> А кто-такой этот "народ", на котором есть конструктор сайтов?

www.narod.ru


 
\/iKTOR   (2007-08-03 12:21) [21]

Ну втавлю свое скромное ИМХО :)
Есть много людей не представляющих как вообще работают программы, Что такое HTML, MySQL, PHP и прочее, это им не мешает жить и радоваться жизни.
Другое дело, что вам что то интересно и вы хотите понять как это работает, а не просто тупо пользоваться готовым, кому просто нужен сайт не вникая в подробности его работы достаточно установить CMS и пользоваться.
Та же ситуация и тут, может оно большинству и не нужно, но ведь интересно знать как это работает, не так ли? А оправданно ли использование API или достаочно функций VCL  автор сам может решить.


 
iXT ©   (2007-08-03 13:24) [22]

> [12] Игорь Шевченко ©   (03.08.07 10:41)

+1


 
SpellCaster   (2007-08-03 13:33) [23]

> [21] \/iKTOR   (03.08.07 12:21)


> А оправданно ли использование API или достаочно функций
> VCL  автор сам может решить

То-то и оно. А вместо того, чтобы ответить на нормальный вопрос, все сразу накидываются на автора и начинают хором его лечить типа "На кой хрен тебе это надо".


 
Yanis ©   (2007-08-03 14:01) [24]


> То-то и оно.

Вообще никто никого лечить не собирался поначалу.
Просто пробегающий спросил «зачем?».


 
Anatoly Podgoretsky ©   (2007-08-03 14:25) [25]


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

А чтобы знать стоит отвечать или нет.


 
Царев Евгений ©   (2007-08-03 19:19) [26]



program PROJECT_NAME;

uses
 Windows,
 Messages;

{$R *.res}

var
 MainWindowHandle: HWND;
 Msg: TMsg;
 Instance : Longint;

const
 WinClassName = "_MAIN_WINDOW_CLASS_";
 ProjectName  = "MAIN PROJECT" ;

procedure SetCaption(Caption: String);

   function IntToStr(Num : Integer) : String;
   begin
    Str(Num, result);
   end;
begin
Randomize;
SetWindowText(MainWindowHandle,PChar (Caption + IntToStr(Random(5))) );
end;

function WindowProc(HWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
 Result:= 0;

 case Msg of
   WM_APP: ; // не забудь
   WM_DESTROY:
     begin
       PostQuitMessage(0);
       Result := 0;
     end;
   WM_COMMAND:
     begin
      //
     end;
   WM_PAINT:     // Title у формы будет меняться, но название в таскбаре останется "MAIN PROJECT"
     begin
   SetCaption("New Name ");
     end;
   WM_ERASEBKGND:
     begin
       PaintDesktop(HDC(wParam));
     end;

   else
     Result := DefWindowProc(HWnd, Msg, WParam, LParam);
 end;

end;

procedure ProcessMessages;
begin

 while GetMessage(Msg, 0, 0, 0) do
 begin
   TranslateMessage(Msg);
   DispatchMessage(Msg);
 end;
end;

procedure WinMain;
var
WindowClass: TWndClassEx;
begin
 Instance:= GetModuleHandle(nil);

 FillChar(WindowClass,SizeOf(TWndClassEx),0);
 WindowClass.cbSize:= SizeOf(TWndClassEx);
 WindowClass.lpfnWndProc:= @WindowProc;
 WindowClass.hInstance := Instance;
 WindowClass.lpszMenuName:= nil;
 WindowClass.lpszClassName:= WinClassName;
 WindowClass.hIcon := LoadIcon(Instance,PChar("MAINICON"));
 WindowClass.hCursor:= LoadCursor(0,IDC_ARROW);
 WindowClass.hbrBackground:= COLOR_BTNFACE + 1;

  if RegisterClassEx(WindowClass) = 0 then
  if RegisterClass(PWNDCLASS(@WindowClass.style)^) = 0 then Halt(255);

  MainWindowHandle:= CreateWindowEx(0,
                                    WinClassName,
                                    ProjectName,
                                    WS_OVERLAPPEDWINDOW,
                                    Integer(CW_USEDEFAULT),
                                    Integer(CW_USEDEFAULT),
                                    Integer(CW_USEDEFAULT),
                                    Integer(CW_USEDEFAULT),
                                    0,
                                    0,
                                    Instance,
                                    nil);
  ShowWindow(MainWindowHandle, SW_SHOWNORMAL);
  ProcessMessages;
  DestroyWindow(MainWindowHandle);
end;

begin
WinMain;
end.


 
Zagaevskiy ©   (2007-08-03 19:40) [27]


> for(;P("\n").R-;P("\ "))for(e=3DC;e-;P("_ "+(*u++/8)%2))P("|
> "+ (*u/4)%2);

Плагиат!! Это я писал , где-то месяца 1.5 - 2.5 назад.В контексте ветки "Кто что думает"


 
Dib@zol ©   (2007-08-03 19:42) [28]

> Плагиат!! Это я писал , где-то месяца 1.5 - 2.5 назад.В
> контексте ветки "Кто что думает"

А я на копирайт и не претендую... Отныне и во веки - © Zagaevskiy.
Извиняюсь...


 
Царев Евгений ©   (2007-08-03 19:47) [29]

Sorry неудачный пример :(


 
Zagaevskiy ©   (2007-08-03 19:52) [30]


> Извиняюсь...

Прощаю...:)
Марш  в угол, на горох коленями! :)


 
Zagaevskiy ©   (2007-08-03 19:53) [31]


> Sorry неудачный пример :(

В чём неудачность - то?


 
Царев Евгений ©   (2007-08-03 20:00) [32]


> В чём неудачность - то?


Максимизация/Минимизация рушит


 
Zagaevskiy ©   (2007-08-03 20:07) [33]


> рушит

в каком сысле?


 
Царев Евгений ©   (2007-08-03 20:11) [34]


> в каком сысле?

в таскбаре меняется название на заголовок формы


 
Zagaevskiy ©   (2007-08-03 20:21) [35]


> в таскбаре меняется название на заголовок формы

Это плохо! не доработки выясняются после здачи пройэкта...



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

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

Наверх




Память: 0.56 MB
Время: 0.032 c
15-1185793624
VRSB
2007-07-30 15:07
2007.08.26
обработка условий


2-1185954821
WFS
2007-08-01 11:53
2007.08.26
Можно ли как-нибудь выделить одну ячейку в DBGride?


15-1185183893
Tdu
2007-07-23 13:44
2007.08.26
создание на Delphi dll для Матлаба


15-1185361883
Стас
2007-07-25 15:11
2007.08.26
Сканер А2


15-1185772704
cosinus
2007-07-30 09:18
2007.08.26
Использование плагинов не на C (как в SDK), а на Delphi?