begin process at 2012 02 16 01:09:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Formulaire

 > 

Supprimer barre de Titre sur MDI Form


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Supprimer barre de Titre sur MDI Form

jeudi 12 janvier 2006 à 11:01:57 | Supprimer barre de Titre sur MDI Form

bmwz3tds

Bonjour à tous.

J'utilise une Form MDI. Et je souhaiterais enlever la barre de titre de ma Form. En cherchant par moi meme sur le site, j'ai trouvé comment "enlever" le bouton Min et Max de la barre de titre,  comment grisé le bouton Fermer, et comment vérouillé le Déplacer/Redimensionner, tout ça grace à des API ( au passage merci Dark Sidious  )

Le probleme est que la barre de titre reste...

Quelqu'un aurait il une solution pour supprimer complètement la barre de titre de ma MDI Form ?

Pour rappel :
Les propriétés BorderStyle et ControlBox n'existent pas pour les MDI Form...

Mercià ceux qui pourront m'aiguiller un peu...

jeudi 12 janvier 2006 à 11:47:44 | Re : Supprimer barre de Titre sur MDI Form

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Salut,

Content de voir que je t'ai été utile ;)

pour les feuille MDI, la seule solution que je connait est de "découper" la feuille en utilisant des régions pour ne pas afficher la barre de titre (je sais, c'est bourrin, mais je vois pas d'autres solutions !).

Il te suffit donc de faire une région rectangulaire (fonction de l'API CreateRectRgn) de la taille de ta fenêtre, mais dont la position commence à la hauteur de la barre de titre (regarde la fonction de l'API GetSystemMetrics pour récupèrer cà) puis de l'appliquer à la fenêtre (fonction de l'API SetWindowRgn).

Pour plus d'info sur les regions, je peux te conseiller d'aller voir mes sources nommées Horloge Systeme et Découpage rapide de form.

_____________________________________________________________________

jeudi 12 janvier 2006 à 14:05:32 | Re : Supprimer barre de Titre sur MDI Form

fduchamp

Bonjour, dans les proprietes de la form tu as un attribut FormBorderStyle (ou a peu pres ca)et dedans tu as une liste deroulante avec des valeurs du genre FixedSingle,Fixed3D... Si tu choisi None la barre de titre disparaitra ainsi que le contour de la fenetre. Essai de voir a ce niveau si cela te conviens.
jeudi 12 janvier 2006 à 14:16:47 | Re : Supprimer barre de Titre sur MDI Form

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Pas pour les feuille mdi fduchamp !

_____________________________________________________________________

lundi 10 avril 2006 à 13:45:06 | Re : Supprimer barre de Titre sur MDI Form

adamo901

Voilà, J'ai retrouvé une source interessante sur le sujet :



Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
'
Private Const WS_CAPTION = &HC00000
Private Const GWL_STYLE = (-16)
Private Sub Command1_Click()
'*** Cache la barre de Titre (caption) ***
'***
'***

Dim RetV As Long
'
RetV = GetWindowLong(Me.hwnd, GWL_STYLE)
RetV = RetV And Not WS_CAPTION
SetWindowLong Me.hwnd, GWL_STYLE, RetV
'
'*** Pour que l'effet prenne cours , il faut
'*** redimensionner la feuille.
Me.Width = Me.Width + Screen.TwipsPerPixelX
End Sub

Private Sub Command2_Click()
Unload Me
End Sub

Private Sub Command3_Click()
'*** Ceci suffit pour faire réapparaitre
'*** la barre de titre (caption)
'***
Me.Caption = "Test"
End Sub

Elle marche très bien avec les MDI.
Seulement, je cherche à cacher difinitivement les bouttons ( Réduire, Restaurer et Fermer). Est ce que vous en avez une idée.

A +

jeudi 1 novembre 2007 à 00:44:05 | Re : Supprimer barre de Titre sur MDI Form

threadom

Bonsoir,

Je remercie darksidious d'avoir posé la question et adamo901 d'y avoir répondu.
Cependant en utilisant cette méthode il me reste toujours les contours de la fenêtre pour redimensionnement... est ce normal ?
Y'a t'il un moyen de retirer cela ?

Mon code actuel :

mdiMain :

Private Sub MDIForm_Load()
Dim aWindow As New clsWindow

    aWindow.Init Me
    aWindow.SetPos HWND_BOTTOM, SWP_NOSIZE Or SWP_NOMOVE Or SWP_NOACTIVATE
    aWindow.SetTransparent RGB(0, 0, 0)
    aWindow.HideTitle
   
    Me.Left = 0
    Me.Top = 0
    Me.Width = Screen.Width
    Me.Height = Screen.Height

Set aWindow = Nothing
End Sub


clsWindow :

Option Explicit

Private M_aForm As Form

Public Sub Init(ByRef aForm As Form)
    Set M_aForm = aForm
End Sub

Public Sub SetPos(ByVal hWndInsertAfter As Long, ByVal wFlags As Long)
    Call SetWindowPos(M_aForm.hwnd, hWndInsertAfter, 0, 0, 0, 0, wFlags)
End Sub

Public Sub SetTransparent(ByVal lngRGB As Long)
Dim lngAttrib As Long

    M_aForm.BackColor = lngRGB
    lngAttrib = GetWindowLong(M_aForm.hwnd, -20)
    SetWindowLong M_aForm.hwnd, -20, lngAttrib Or &H80000
    SetLayeredWindowAttributes M_aForm.hwnd, lngRGB, 0, 1
End Sub

Public Sub HideTitle()
Dim lngAttrib As Long

    lngAttrib = GetWindowLong(M_aForm.hwnd, GWL_STYLE)
    lngAttrib = lngAttrib And Not WS_CAPTION
    SetWindowLong M_aForm.hwnd, GWL_STYLE, lngAttrib
End Sub

Cordialement.
Eric
jeudi 1 novembre 2007 à 00:56:24 | Re : Supprimer barre de Titre sur MDI Form

threadom

Oula il est vraiment trop tard ... tellement l'habitude de voir darksidious partout que je le vois même poser les questions a cette heure ci ... donc merci a bmwz3tds pour la question ^^
jeudi 1 novembre 2007 à 01:03:03 | Re : Supprimer barre de Titre sur MDI Form

threadom

Réponse a moi même ... cette fois je vais me coucher et désolé....

Public Sub HideTitle()
Dim lngAttrib As Long

    lngAttrib = GetWindowLong(M_aForm.hwnd, GWL_STYLE)
    lngAttrib = lngAttrib And WS_BORDER And Not WS_CAPTION
    SetWindowLong M_aForm.hwnd, GWL_STYLE, lngAttrib
End Sub

avec

Public Const WS_BORDER = &H800000
vendredi 10 septembre 2010 à 14:23:04 | Re : Supprimer barre de Titre sur MDI Form

Flocreate

Bonjour,
Je me permet de poser ma question à la suite de la votre car elles se rejoignent.

La solution donnée permet de cacher la barre de titre de la feuille mère.
Y Aurrait-il moyen d'utiliser la même solution pour cacher la bare (grise) présente lorsque les enfants sont maximizés ?


Cette discussion est classée dans : form, barre, supprimer, titre, mdi


Répondre à ce message

Sujets en rapport avec ce message

form MDI en Plein Ecran ? [ par DGSE ] SalutJ'aimerais savoir si il est possible de demarrer une fenetre principal MDI en plein écran ?Ou de au moins faire disparaitre la barre des taches o Déplacer une form avec la souris [ par scortex84 ] Bonjour,petite question bete : j'ai fais une jolie form sans barre de titre. Donc maintenant je ne peux plus la déplacer tout simplement en cliquant d Hauteur de la barre de titre d'un Form [ par AlohaThomas ] Bonjour, Voila, j'aimerai savoir comment récupérer la hauteur de la barre de titre d'un Form (celle où il y a l'icône et les 3 boutons). J'utilise Cacher la barre de titre d'une form [ par DraaFil ] Bonjour a tous,Je cherche le moyen de cacher ma barre des titres. Voici mon contxte.n'aimant pas la barre de titre de windows j,ai decide de l'enleve Redimentionner une form sans Barre De Titre [ par veler ] Salut,Je cherche à pouvoir redimentionner une form n'ayant pas de Barre De Titre.J'ai essayé de le faire simplement avec un évenement MouseMove et en barre de titre [ par chahidlinkin ] comment je peut (désactiver/cacher) la barre de titre d'un form?sinoncomment je peut désactiver le déplacement d'un form avec la souris? c'est urgent A L'AIDE ! barre de titre d' EXCEL qui disparaît, en plein écran ! [ par inforom ] AIE!!! depuis un bon bout de temps je cherche à faire des trucs en VBA, pour afficher un menu en haut de la fenêtre, après être passé normalement en p position form MDI dans un picturebox [ par Moritus ] Bonjour, J'aimerais placer des form MDI dans un picture box et enregistrer la position lorsque l'utilisateur les changes de place..J'ai essayer avec f Événements souris sur la barre de titre [ par Passepoil75 ] Bonjour,J'aimerais savoir s'il existe des événements souris (ex: MouseEnter) sur la barre de titre.Je me suis créé une fonction récursive qui lorsque


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,295 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales