Couleur des bordures [Résolu]

BasicInstinct 1471 Messages postés mardi 5 février 2002Date d'inscription 20 octobre 2014 Dernière intervention - 14 sept. 2005 à 10:31 - Dernière réponse : BasicInstinct 1471 Messages postés mardi 5 février 2002Date d'inscription 20 octobre 2014 Dernière intervention
- 14 sept. 2005 à 15:36
'lut

j'utilise les manifest pour developper mon application. J'ai un controle utilisateur au milieu qui ne gere pas le mode XP. Comment puis recuperer la couleur des bordures des textbox, afin de l'appliquer a mon control utilisateur. (la couleur du style XpBlue me suffit pour le moment, mais l'ideal serai de recuperer dynamiquement la couleur)

merci

++

BasicInstinct
Afficher la suite 

6 réponses

BasicInstinct 1471 Messages postés mardi 5 février 2002Date d'inscription 20 octobre 2014 Dernière intervention - 14 sept. 2005 à 15:03
+3
Utile
Bon probleme résolu :
picturebox avec en image une copie d'ecran du rendu voulu, puis mon controle utilisateur a l'interieur de la picturebox, sinon ca part en live lors de la saisie.

merci à vous

BasicInstinct
Cette réponse vous a-t-elle aidé ?  
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 14 sept. 2005 à 13:38
0
Utile
Les constantes de couleur système de VB ne permettent pas de le récupèrer ?

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 14 sept. 2005 à 13:40
0
Utile
salut,
non, pas les bordures des TxtBox....
BasicInstinct, tu seras peut-être obligé de le mettre en Flat sans bordure et d'y ajouter une shape
PCPT
BasicInstinct 1471 Messages postés mardi 5 février 2002Date d'inscription 20 octobre 2014 Dernière intervention - 14 sept. 2005 à 14:34
0
Utile
malheureusement la shape ne passe pas en mode XP, c'est bien dommage, l'idee etait excellente. Du coup j'ai essayé avec une picturebox, puis une frame, sans resultat.
En truandant (c'est peut etre pas français ça) avec une textbox, ca marche bien au niveau de l'affichage de depart, mais lorsque je fais de la saisie, ca part en live complet.
J'ai oublié de dire que je ne peux pas utiliser les composants de Forms 2.0 Library (on sait jamais ca pourrait changer qque choses)

BasicInstinct
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 14 sept. 2005 à 15:05
0
Utile
pour les composants 2, je n'y prête plus attention....
polémique sur libres ou pas. c'est officiel, MSDN, les composants Form2.0 ne sont pas redistribuables gratuitement.
bref. donc même pas regardé, et pas proposé.

shape ne passe pas en mode XP ?
moi pas comprendre....

sinon tu peux truander (sisi, c'est français) en arrondissant les bords du textBox avec CreateRoundRectRgn :
(bloc note, enregistrer .frm, double click)


VERSION 5.00
Begin VB.Form Form_txt
Caption = "Form1"
ClientHeight = 1845
ClientLeft = 60
ClientTop = 345
ClientWidth = 2955
LinkTopic = "Form1"
ScaleHeight = 1845
ScaleWidth = 2955
StartUpPosition = 3 'Windows Default
Begin VB.PictureBox Picture1
BackColor = &H00FF0000&
BorderStyle = 0 'None
Height = 315
Left = 360
ScaleHeight = 315
ScaleWidth = 1905
TabIndex = 0
Top = 960
Width = 1905
Begin VB.TextBox Text1
Appearance = 0 'Flat
BackColor = &H00FFFFC0&
BorderStyle = 0 'None
Height = 255
Left = 30
TabIndex = 1
Text = "Text1"
Top = 30
Width = 1845
End
End
End
Attribute VB_Name = "Form_txt"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Declare Function CreateRoundRectRgn Lib "gdi32" ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
Private Declare Function SetWindowRgn Lib "user32" ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
Private Declare Function DeleteObject Lib "gdi32" ByVal hObject As Long) As Long

Private Sub Form_Load()
Dim RR As Long

'picture
RR = CreateRoundRectRgn(1, 1, Picture1.Width / Screen.TwipsPerPixelX, Picture1.Height / Screen.TwipsPerPixelY, 10, 10)
Call SetWindowRgn(Picture1.hWnd, RR, True)
DeleteObject RR

'text
RR = CreateRoundRectRgn(1, 1, Text1.Width / Screen.TwipsPerPixelX, Text1.Height / Screen.TwipsPerPixelY, 10, 10)
Call SetWindowRgn(Text1.hWnd, RR, True)
DeleteObject RR
End Sub



<SMALL> Coloration syntaxique automatique [AFCK]</SMALL>


PCPT
BasicInstinct 1471 Messages postés mardi 5 février 2002Date d'inscription 20 octobre 2014 Dernière intervention - 14 sept. 2005 à 15:36
0
Utile
mon probleme etait surtout que j'ai dans mon controle utilisateur une richtextbox dont j'ai rendu le fond transparent, et si je mets une textbox de style xp derriere, la transparence est super male géree, j'ai le curseur qui reste entre chaque lettre saisie, qd je fait une selection a l'interieur, ca reste definitivement en noir etc.

maintenant ca marche nickel.

Et non, la shape ne passe pas en type xp, les bordures restent en noir.

enfin c'est pas grave, j'ai du xpBlue chez tous mes clients.

BasicInstinct

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.