Kuinka vb6:lla voi keskittää ulkoisen ikkunan ruudun yläkulmaan? kun tiedetään vaikka ohjelman otsikko..
Kun ikkunan hwnd on tiedossa, voit käyttää WinAPIn SetWindowPos-funktiota:
SetWindowPos hwnd, 0, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOZORDER
'määrittelyt Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Const SWP_NOSIZE = 1 Private Sub Command1_Click() Dim hanska As Long Dim ResoX As Integer Dim ResoY As Integer 'Me.captionin paikalle ikkunan nimi hanska = FindWindow(vbNullString, Me.Caption) 'katsotaan resoluutio (scalemode = twips) ResoX = Screen.Width / Screen.TwipsPerPixelX ResoY = Screen.Height / Screen.TwipsPerPixelY 'lämätään keskelle ruutua Call SetWindowPos(hanska, 0, ResoX / 2, ResoY / 2, 0, 0, SWP_NOSIZE) End Sub
Tolla pitäis onnistuu
Aihe on jo aika vanha, joten et voi enää vastata siihen.