Menu systemowe okna

JU
  • Rejestracja:ponad 6 lat
  • Ostatnio:5 miesięcy
  • Postów:35
0

Cześć !

Lazarus lub CodeTyphon.

Mam :
Form1 (bsDialog) + BitBtn
Form2 (bsToolWindow or bsNone)
Menu systemowe Form1 nie jest widoczne.
Po naciśnięciu BitBtn (Form2.ShowModal) ukazuje się menu systemowe Form1.

Dlaczego tak się dzieje i czy jest to prawidłowe ?

cerrato
Moderator Kariera
  • Rejestracja:około 7 lat
  • Ostatnio:około 3 godziny
  • Lokalizacja:Poznań
  • Postów:8805
1

A możesz dać jakieś screeny, albo najlepiej - kod? Bo dałeś opis, ale to trochę mało.
Lazarus jest wieloplatformowy. Zakladam, że chodzi Ci o zachowanie na Windowsie?


JU
  • Rejestracja:ponad 6 lat
  • Ostatnio:5 miesięcy
  • Postów:35
0

Tak, chodzi o Windows-a 10;
To nie jest żadna "większa" aplikacja a raczej eksperyment potwierdzający to dziwne zachowanie.
Cały kod to raptem

Kopiuj
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.ShowModal;
end;

Dołączam zrzuty z widoku przed:
screenshot-20211009160145.png
i po wykonaniu w/w kodu
screenshot-20211009160257.png

edytowany 1x, ostatnio: flowCRANE
PD
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 11 godzin
0
jurkowojc napisał(a):

... i czy jest to prawidłowe ?

Nie wiem czy jest to prawidłowe.
Ale:

Kopiuj
BorderIcons := BorderIcons - [biSystemMenu]; 

w FormCreate rozwiązuje problem.


pozdrawiam
paweld
edytowany 2x, ostatnio: Paweł Dmitruk
flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 2 godziny
  • Lokalizacja:Tuchów
  • Postów:12175
0

Podrzuć cały projekt — sprawdzę w Lazarusie.


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
KA
  • Rejestracja:prawie 20 lat
  • Ostatnio:mniej niż minuta
  • Lokalizacja:Gorlice
0

Jak bsToolWindow or bsNone?
Raczej albo albo. W każdym razie nie chce mi się teraz analizować źródeł dlaczego tak się dzieje że zmienia styl okna głównego ale jest proste rozwiązanie problemu wystarczy mu "przypomnieć":

Kopiuj
procedure TForm2.FormShow(Sender: TObject);
begin
  Form1.BorderStyle:= bsToolWindow;
end;    

Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.
edytowany 1x, ostatnio: kAzek
JU
  • Rejestracja:ponad 6 lat
  • Ostatnio:5 miesięcy
  • Postów:35
0

@furious programming:
bsToolWindow lub bsNone.
BorderIcons := BorderIcons - [biSystemMenu] nie rozwiązuje problemu ponieważ ikona zamykająca okno staje się niewidoczna

To nie jest żaden projekt. To jest (jak pisałem wcześniej) jedynie eksperyment obrazujący zachowanie się okien przy takich a nie innych ustawieniach.

Form2.ShowModal; - to jest cały kod.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.