🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi
3 messages
3 total messages Started by Teenie Wed, 28 Aug 2019 20:11
Tytuł okna a tytuł aplikacji
#347063
Author: Teenie
Date: Wed, 28 Aug 2019 20:11
13 lines
2234 bytes
Witam,

bawiąc się funkcją SetWindowText zauważyłem, że ustawia ona tekst zarówno na pasku tytułu okna, jak i na pasku zadań. Tymczasem w Delphi mamy osobno TForm.Caption i Application.Title. Zastanawiam się więc, w jaki sposób jest to zaimplementowane i przychodzą mi następujące możliwości:
1. Delphi samo rysuje po pasku zadań, choć raczej wydaje mi się to mało prawdopodobne,
2. rysuje po pasku tytułu,
3. podmienia teksty na czas rysowania,
4. tworzy fikcyjne okno,
5. korzysta z innej funkcji WinAPI, której nie umiem znaleźć u wujka Google'a,
6. korzysta z ITaskBarList, ale nic tam takiego nie widziałem,
7. inna odpowiedź, czyli...
Wiem, że niektóre możliwości wydają się wzięte z kosmosu, ale może ktoś poratuje jakąś podpowiedzią, ewentualnie fragmentem kodu bądź gotowym przykładem.

Pozdrawiam
Re: Tytuł okna a tytuł aplikacji
#347064
Author: MKi
Date: Thu, 29 Aug 2019 08:01
21 lines
2366 bytes
> Witam,
> 
> bawiąc się funkcją SetWindowText zauważyłem, że ustawia ona tekst zarówno na pasku tytułu okna, jak i na pasku zadań. Tymczasem w Delphi mamy osobno TForm.Caption i Application.Title. Zastanawiam się więc, w jaki sposób jest to zaimplementowane i przychodzą mi następujące możliwości:
> 1. Delphi samo rysuje po pasku zadań, choć raczej wydaje mi się to mało prawdopodobne,
> 2. rysuje po pasku tytułu,
> 3. podmienia teksty na czas rysowania,
> 4. tworzy fikcyjne okno,
> 5. korzysta z innej funkcji WinAPI, której nie umiem znaleźć u wujka Google'a,
> 6. korzysta z ITaskBarList, ale nic tam takiego nie widziałem,
> 7. inna odpowiedź, czyli...
> Wiem, że niektóre możliwości wydają się wzięte z kosmosu, ale może ktoś poratuje jakąś podpowiedzią, ewentualnie fragmentem kodu bądź gotowym przykładem.
> 
> Pozdrawiam
> 

O ile dobrze pamiętam najbliższe prawdzie jest 4.
MainForm w Delphi to nie to samo, co główne okno w rozumieniu Windows.
W Delphi to główne okno jest niewidoczne.

Pozdrowienia,
MKi
Re: Tytuł okna a tytuł aplikacji
#347065
Author: immo
Date: Thu, 26 Sep 2019 12:56
21 lines
2903 bytes
W dniu środa, 28 sierpnia 2019 22:11:45 UTC+2 użytkownik Teenie napisał:
> Witam,
> 
> bawiąc się funkcją SetWindowText zauważyłem, że ustawia ona tekst zarówno na pasku tytułu okna, jak i na pasku zadań. Tymczasem w Delphi mamy osobno TForm.Caption i Application.Title. Zastanawiam się więc, w jaki sposób jest to zaimplementowane i przychodzą mi następujące możliwości:
> 1. Delphi samo rysuje po pasku zadań, choć raczej wydaje mi się to mało prawdopodobne,
> 2. rysuje po pasku tytułu,
> 3. podmienia teksty na czas rysowania,
> 4. tworzy fikcyjne okno,
> 5. korzysta z innej funkcji WinAPI, której nie umiem znaleźć u wujka Google'a,
> 6. korzysta z ITaskBarList, ale nic tam takiego nie widziałem,
> 7. inna odpowiedź, czyli...
> Wiem, że niektóre możliwości wydają się wzięte z kosmosu, ale może ktoś poratuje jakąś podpowiedzią, ewentualnie fragmentem kodu bądź gotowym przykładem.
> 
> Pozdrawiam


Podstawy - Delphi (jesli mówimy o VCL) tworzy okno głowne którego nie widać. Odbiera ono wszystkie komunikaty z systemu i przekazuje do tych które ich potrzebują. To co Ty widzisz jako głowne okno aplikacji tak naprawdę jest już kolejnym.
Na starszych windowsach i we wcześniejszych wersjach było widac jak minimalizowana aplikacja tak naprawdę się nie minimalizowała, tylko robiła animacje minimalizacji. To jest efekt takiego rozwiązania. Teraz to jest już poprawione, ale zasada działania IMHO jest nadal taka sama.

pozdrawiam,
Przemek O.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads