Bonjour a tous,
Est-ce possible de créer une fenetre sans barre titre?
Si oui comment?
Merci d'avance
Bonjour a tous,
Est-ce possible de créer une fenetre sans barre titre?
Si oui comment?
Merci d'avance
Salut Amybond;
En BcB6 c'est possible
c'est donc adaptable au language utilise
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Form1->BorderStyle = bsNone;
--
Plutot que d'essayer de réinventer la roue, apprenons à nous en servir
Ok, merci.
Dans le cas present j'utilise l'api win32 quel est le moyen svp car il n'y a pas de parametre pour les bordure, enfin pas a ma connaisance?
Il suffit de lire la doc !
Pour CreateWindow :
http://msdn2.microsoft.com/en-us/library/ms632679.aspx
puis le lien sur les Window Styles :
http://msdn2.microsoft.com/en-us/library/ms632600.aspx
Je cherché je trouve pas...
Pourrais tu etre plus precis stp ?
Il suffit de ne pas donner le style "combiné" WS_OVERLAPPEDWINDOW (utiliser les "petits" styles à la place) et ne pas donner le style WS_BORDER Edit: WS_CAPTION.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Je ne donne pas WS_OVERLAPPED.. comme style a mon programme mais meme en metant que des petits style la barre de titre persiste
Merci d'avance
voici la fonction que j'utilise pour passer d'une fenetre sans bord a une fenetre avec bord (et inversement) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 EAPI void ecore_win32_window_borderless_set(Ecore_Win32_Window *window, int on) { RECT rect; DWORD style; struct _Ecore_Win32_Window *ew; HWND w; if (!window) return; ew = (struct _Ecore_Win32_Window *)window; if (((ew->borderless) && (on)) || ((!ew->borderless) && (!on))) return; w = ew->window; style = GetWindowLong(w, GWL_STYLE); if (on) { if (!GetClientRect(w, &rect)) return; SetWindowLong(w, GWL_STYLE, style & ~WS_CAPTION); } else { if (!GetWindowRect(w, &rect)) return; style |= WS_CAPTION; AdjustWindowRect (&rect, style, FALSE); SetWindowLong(w, GWL_STYLE, style); } SetWindowPos(w, HWND_TOPMOST, rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top, SWP_NOMOVE | SWP_FRAMECHANGED); ew->borderless = on; }
L'Opus attire les Prélats
Amybond: Montre tes styles.
d'Oursse: Ta fonction ne prend pas en compte le fait que WS_CAPTION est égal à WS_BORDER|WS_DLGFRAME...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Medinoc: ou veux-tu en venir ? Que ma fonction ne fait pas exactement ce qui est demande ?
amybond: ton probleme vient certainement du fait qu'il faut forcer la feentre a se redessiner. Tu peux le faire avec ShowWindow, ou bien comme je le fait, avec SetWindowPos
L'Opus attire les Prélats
d'Oursse: Oups, j'ai mal lu le reste de ton post. En effet, ta fonction supprime la bordure en même temps que la barre de titre et tu l'as dit toi-même. Or AmyBond ne veut supprimer que la barre de titre pour l'instant.
De plus, J'ai fait une faute d'inattention dans mon premier post: J'ai écrit WS_BORDER, mais je voulais écrire WS_CAPTION...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager