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?
Tworzysz nową formę, i ustawiasz jej pozycję obok pozycji formy bieżącej.
Dodatkowo w zdarzeniu przesunięcia okna trzeba aktualizować pozycję drugiej formy.
@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ł.