Jak utworzyć Sub-formę po kliknięciu na button?

0

Czesc wszystkim ;)
Jak mozna zrobic w VB wysuwaną "drugą formę" z tej głównej... ?
Że np kliknie ktoś na guzik i obok się rozwinie forma na której będą jakies textboxy, buttony itd?
ffffff.png

1

Tworzysz nową formę, i ustawiasz jej pozycję obok pozycji formy bieżącej.
Dodatkowo w zdarzeniu przesunięcia okna trzeba aktualizować pozycję drugiej formy.

0

@Azarien - to nie wszystko; Pytacz potrzebuje ją rozwinąć, a nie tylko pokazać;

Język tutaj nie ma znaczenia, dlatego że wystarczy zwykła pętla i aktualizowanie pozycji Left wysuwanego formularza; Możesz ten wysuwany schować pod głównym i tylko go w pętli przesuwać w prawo (jak dobrze rozumiem), albo ustawić jego minimalną szerokość i w pętli tylko go rozszerzać; Jednak tutaj możesz mieć problem, nie wiem czy uda się ustawić szerokość formularza na np. 1px żeby zrobić ładną animację;

Sprawdziłem pod Delphi i uzyskałem minimalnie 12px w poziomie, jeśli okno posiada styl bsSizeToolWin bez przycisków systemowych (krzyżyka do zamykania formularza); Nie wiem czy to jest zależne od wersji systemu Windows, jednak na MSDN jest notka, że jakaś minimalna szerokość okna jest ustalona i nie ma możliwości jej ominać, nawet jeśli wyłączy się systemowe przyciski czy skasuje Caption formularza; Jest to możliwe tylko w przypadku, gdy formularz ma FormBorderStyle na None;

W takim przypadku trzeba by w jednej pętli wysunąć formularz o minimalnej szerokości tak aby pokazał się cały, a później go tylko rozszerzać, gdzie wysuwany formularz początkowo powinien być schowany pod głównym; Dwie pętle z np. Sleep do utworzenia animacji, do tego ewentualnie DoEvents żeby odblokowywać pętlę komunikatów; Może ktoś jeszcze będzie miał jakiś ciekawszy pomysł.

1 użytkowników online, w tym zalogowanych: 0, gości: 1