SetBkMode & DrawText

Résolu
peug Messages postés 232 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 5 octobre 2012 - 25 juin 2007 à 10:44
peug Messages postés 232 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 5 octobre 2012 - 25 juin 2007 à 11:19
Bonjour,

y a t il un moyen pour remplir le Rectangle de couleur et non Que l'arrière plan des caractère avec SetBkColor ?

SetBkMode lhDC, OPAQUE
SetBkColor lhDC, mlFillColor
DrawText lhDC, caption & vbNullChar, Len(caption), DrawingZone, wFormat

merci :)

7 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 juin 2007 à 11:00
ouaip....

alternative, FillRect, qui a cet avantage que ton brush n'a pas a etre associé au Dc

Renfield
Admin CodeS-SourceS- MVP Visual Basic
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 juin 2007 à 10:48
API Rectangle, par exemple

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
peug Messages postés 232 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 5 octobre 2012
25 juin 2007 à 10:56
je serai obligé d'utiliser CreateSolidBrush et tout le tralala qui suit alors ?
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 juin 2007 à 11:08
penses au DeleteObject, sinon => fuite

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
peug Messages postés 232 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 5 octobre 2012
25 juin 2007 à 11:11
oui, j'ai fait cela et nickel , encore merci :

      Dim lBrush As Long
    lBrush = CreateSolidBrush(TranslateColor(mlFillColor)) 'où  TranslateColor converti la couleur via OleTranslateColor
    FillRect lhDC, DrawingZone, lBrush
   
    Dim wFormat As Long
    Select Case lAlign
    Case vbLeftJustify
        wFormat = DT_WORDBREAK Or DT_EXPANDTABS Or DT_NOPREFIX
    Case vbRightJustify
        wFormat = DT_NOPREFIX Or DT_TOP Or DT_RIGHT Or DT_WORDBREAK Or DT_EXPANDTABS
    Case vbCenter
        wFormat = DT_TOP Or DT_WORDBREAK Or DT_CENTER Or DT_NOPREFIX
    End Select
    
    DrawText lhDC, caption & vbNullChar, Len(caption), DrawingZone, wFormat

    retval = SelectObject(lhDC, hOldFont)
    retval = DeleteObject(hFont)
    DeleteObject lBrush
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
25 juin 2007 à 11:18
tes RetVal ne te servent a rien, apparemment :

DeleteObject SelectObject(lhDC, hOldFont)

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
peug Messages postés 232 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 5 octobre 2012
25 juin 2007 à 11:19
en postant, me suis douté que tu allais dire cela.... hihihiih ...quel souci du détail
0
Rejoignez-nous