Pystyykö VB.ssä pienentämään ohjelma ohjelman kautta??
Siis tarkoitatko, että ohjelma-ikkunan pienentäminen tehtäväpalkkiin, alalaitaan?
Onnistuu WinAPI:n kautta. Jos tarkoitit sitä voin katsoa sinulle mallin sen tekemisestä.
BOOL ShowWindow( HWND hWnd, // handle of window int nCmdShow // show state of window );
ShowWindow -API:lla onnistuu. nCmdShow:
SW_MINIMIZE Minimizes the specified window and activates the next top-level window in the Z order.
Tuo lienee sopiva parametri teikäläisen tarpeisiin.
Jos ei ole Win-API:n kanssa leikkimisestä kokemusta niin Antti varmaan väsää esimerkin ;) Itse ei jaksa.
Ai niin, ja tietty sinun pitää sen ikkunan kahvakin (eli tuo hWnd) jotenkin hankkia. Tähän voisit käyttää vaikkapa FindWindow -API:a.
HWND FindWindow( LPCTSTR lpClassName, // pointer to class name LPCTSTR lpWindowName // pointer to window name );
lpClassName voi olla 0, lpWindowName:lle isket parametriksi ikkunan titleä.
Toki muitakin tapoja kahvan hankkimiseen on.. riippuu ihan käyttötarkoituksesta.
lainaus:
Jos ei ole Win-API:n kanssa leikkimisestä kokemusta niin Antti varmaan väsää esimerkin ;) Itse ei jaksa.
Doah... kiitti... oot tosi reilu! ;)
Oman ikkunan pienentäminen onnistuu helposti tuolla ShowWindowilla. Tässä muutaman rivin koodi:
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long Private Sub Form_Click() 'pienentää ikkunan formista klikattaessa ShowWindow Me.hwnd, 6 End Sub
Jos tarkoitit omaan sovellukseen liittyvän ikkunan pienetämistä yksinkertaisesti, olisiko tämä mitään:
(Formin nimi).WindowState = 1
Esimerkiksi:
Me.WindowState = 1
Form2.WindowState = 1
Tämä vie nykyisen ikkunan tehtäväpalkkiin.
Numeroiden merkitys:
0 = Ikkuna normaaliksi.
1 = Ikkuna tehtäväpalkkiin.
2 = Ikkuna koko ruudun kokoiseksi.
Kiitos kai näitä vinkkejä mulle riittää
Mutta entäs jos mulla on valittuna Me.BorderStyle = 0/None
ja minä haluan sen just tehtäväpalkkiin?
Muuta borderstyle normaaliksi ja vie se sitten tehtäväpalkkiin. Ja vastaavasti poista borderit kun se avataan... ;) Aikamoista säätämistä, mutta noin sen pitäisi toimia...
Aihe on jo aika vanha, joten et voi enää vastata siihen.