Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Impostare Il Client run-time Del Form vb.net
Forum - C# / VB.NET - Impostare Il Client run-time Del Form vb.net

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Federico1976 (Normal User)
Rookie


Messaggi: 42
Iscritto: 23/03/2009

Segnala al moderatore
Postato alle 14:39
Giovedì, 01/04/2010
Salve Vorrei Impostare Il client del form per diseggnare graficamente i controlli nel restante posto con  MyBase.ClientSize inposto la dimensione ma come posso impostare le coordinate?
scusate l'ingnoranza

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 10:36
Venerdì, 02/04/2010
Private sub Form1_load()

Me.Location = new Point(x,y)

end sub




https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
Federico1976 (Normal User)
Rookie


Messaggi: 42
Iscritto: 23/03/2009

Segnala al moderatore
Postato alle 10:58
Venerdì, 02/04/2010
Ti ringrazio di avermi risposto
Ma scusa con me.Location Non sposto tutto il form?
a me servirebbe Spostare l'area client del form Per disegnare Tipo la barra sopra ed escludere quella zona dall'area client dove andranno inseriti altri controlli

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 13:57
Venerdì, 02/04/2010
non ho capito bene,
ma se intendi spostare l'area client devi fare riferimento alle winapi.
per allargare la barra blu dell'applicazione

se invece intendi far rimanere uno spazio ti basta posizionarti all'evento
paint del form e da li fai la manipolazione del design.


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
Federico1976 (Normal User)
Rookie


Messaggi: 42
Iscritto: 23/03/2009

Segnala al moderatore
Postato alle 14:24
Venerdì, 02/04/2010
A io la barra blu la escludevo con Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
poi ridisegnavo con graphics i vari controlli topo la barra blu e i bordi e ridefinivo l'area client ma non riesco a capire se sia possibile
Posso solo allargare la barra blu dell'applicazione ?
Posso poi ridesegnare La barra Blu ?
La mia Intensione e di ridisegnare e di fare una Skins pero lo vorei fare tutto con la class Drawing
"Grazzie ancora":hail:

PM Quote
Avatar
Federico1976 (Normal User)
Rookie


Messaggi: 42
Iscritto: 23/03/2009

Segnala al moderatore
Postato alle 15:30
Martedì, 06/04/2010
Grazie all'indicazione  di "Thejuster" :hail: di far riferimento alle api ho trovato del codice che risolveva il problema Posto il codice che inserito in un form ridimensiona Il Client e colora i  bordi.

Codice sorgente - presumibilmente VB.NET

  1. Declare Function GetWindowDC Lib "user32" (ByVal hwnd As IntPtr) As IntPtr
  2.  
  3.         Private Sub AdjustClientRect(ByRef rcClient As Rect)
  4.             rcClient.Left += 5
  5.             rcClient.Top += 5
  6.             rcClient.Right -= 5
  7.             rcClient.Bottom -= 5
  8.             'Me.ClientRectangle.Inflate(-5, -5)
  9.  
  10.         End Sub
  11.  
  12.         Structure RECT
  13.             Public Left As Integer, Top As Integer, Right As Integer, Bottom As Integer
  14.         End Structure
  15.         Structure NCCALCSIZE_PARAMS
  16.             Public rcNewWindow As Rect
  17.             Public rcOldWindow As Rect
  18.             Public rcClient As Rect
  19.             Private lppos As IntPtr
  20.         End Structure
  21.  
  22.         Protected Overloads Overrides Sub WndProc(ByRef m As Message)
  23.             MyBase.WndProc(m)
  24.  
  25.             Const WM_NCCALCSIZE As Integer = &H83
  26.             Select Case m.Msg
  27.                 Case WM_NCCALCSIZE 'area client
  28.  
  29.                     If m.WParam <> IntPtr.Zero Then
  30.                         Dim rcsize As NCCALCSIZE_PARAMS = DirectCast(Marshal.PtrToStructure(m.LParam, GetType(NCCALCSIZE_PARAMS)), NCCALCSIZE_PARAMS)
  31.                         AdjustClientRect(rcsize.rcNewWindow)
  32.                         Marshal.StructureToPtr(rcsize, m.LParam, False)
  33.                     Else
  34.                         Dim rcsize As RECT = DirectCast(Marshal.PtrToStructure(m.LParam, GetType(RECT)), RECT)
  35.                         AdjustClientRect(rcsize)
  36.                         Marshal.StructureToPtr(rcsize, m.LParam, False)
  37.                     End If
  38.                     m.Result = New IntPtr(1)
  39.                     Return
  40.  
  41.                 Case &H85 'area non client
  42.                     Dim g As Graphics = Graphics.FromHdc(GetWindowDC(Me.Handle))
  43.  
  44.                     Dim a As New Rectangle(0, 0, Me.Width, Me.Height)
  45.  
  46.                     g.DrawRectangle(Pens.White, a)
  47.                     g.FillRectangle(Brushes.Blue, a)
  48.                     g.Dispose()
  49.             End Select
  50.        
  51.         End Sub


PM Quote
Avatar
salva94 (Normal User)
Rookie


Messaggi: 57
Iscritto: 02/01/2010

Segnala al moderatore
Postato alle 15:57
Martedì, 06/04/2010
Scusate ma tutti questi code Api  , li fate voi? Cioè dove posso imparare queste strutture e le varie tipo di API?

PM Quote
Avatar
Federico_VbNet_Programmer (Normal User)
Expert


Messaggi: 222
Iscritto: 03/04/2010

Segnala al moderatore
Postato alle 17:09
Martedì, 06/04/2010
Testo quotato

Postato originariamente da salva94:

Scusate ma tutti questi code Api  , li fate voi? Cioè dove posso imparare queste strutture e le varie tipo di API?



Le API sono li "strumenti" che windows usa per impostare varie opzioni,in questo caso il colore del bordo,e non si creano,sono già presenti,come la dll user32...
Cerca nel web e troverai ciò che vuoi fare con le API:D

PM Quote
Avatar
salva94 (Normal User)
Rookie


Messaggi: 57
Iscritto: 02/01/2010

Segnala al moderatore
Postato alle 17:51
Martedì, 06/04/2010
Io intendevo , siete voi a creare questi tipi di code usando le API oppure ci sono code preimpostati?

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo