IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi .NET Discussion :

J'ai des soucis avec Delphi8 ShellExecute...


Sujet :

Delphi .NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2004
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 38
    Points : 26
    Points
    26
    Par défaut J'ai des soucis avec Delphi8 ShellExecute...
    Bonjour les gens

    comment ca va ?
    Moi je continue mon bonhomme de chemin sur Delphi 8 .net
    mais la j'ai qqles petits soucis.

    D'abord avec :

    Le ShellExecute... comme a mon habitude, je faisais:
    ShellExecute(Handle,'Open',PChar('http://www.yahoo.fr'),nil,nil,SW_SHOW);

    mais comme les pchar ne passent plus, j'ai adapté ça:
    ShellExecute(handle,'Open','http://www.yahoo.fr','','',SW_SHOW);

    A la compilation ca fonctionne... Mais par contre, lorsque je clique sur mon bouton qui doit m'ouvrir mon navigateur avec l'url, je n'obtiens RIEN du tout...

    Donc mystere...

    ===============
    Ensuite, le seconde mystere vient de la progressbar... Impossible d'en changer la couleur de fond...
    Progressbar.color:=clWhite;
    ca ne donne rien

    Et dernier pépin:
    ===============
    Les tabsheet... J'ai changé la couleur du pagecontrol, mais les tabs des tabsheets sont tjrs en gris... Alors j'ai lu toute la doc possible et inimaginable sur ce sujet et j'ai decouvert les OwnerDraw. en les mettant a TRUE et en mettant Tabsheet.canvas.color:=clwhite; je reste tjrs en gris...

    Bref, Ze desespoir...

    Alors pkoi est ce que j'ai toutes ces galères et comment les résoudre ?

    Merci a vous tous !

    M.

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 434
    Points : 5 846
    Points
    5 846
    Par défaut
    salut

    les tabsheet prenne la couleur de fond du panel sur lequel il est posé
    tu peut modifier les couleur mais c'est un compliqué si tu joue avec
    les tabvisible

    dans la version 6 de delphi
    j'ete passe par un subterfuge afin de palier a cette erreur
    je pense que celui-ci n'as pas ete modifier
    ne pouvant pas le verifier a toi de me dire si le probleme
    peut etre regle de cette facon

    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
     
    //cette declaration permet d'acceder a des propriete "Friends" du 
    //TPageControl
    Implementation 
     uses ...
    ....
    Type 
      TMPageControl = class(TPageControl)
      End ;
     
    ....
    procedure Tform1.pagecontrole1DrawTab(Control: TCustomTabControl;
      TabIndex: Integer; const Rect: TRect; Active: Boolean);
    var
      TabText: string;
      P: TPageControl;
      OutRect : TRect;
    begin
     p :=   Control as TPageControl ;
     TabText := TMPageControl(P).Tabs[TabIndex];
    // TabText :=  P.Pages[TabIndex].Caption;
     OutRect := Rect;
     InflateRect (OutRect, -3, -3);
     OutRect.Left := OutRect.Left + 3;
     if Active Then
     begin
       P.Canvas.Font.Color := clred ;
     end
     else
     begin
       P.Canvas.Font.Color := clBlack;
     end;
     DrawText (Control.Canvas.Handle,
        PChar (ExtractFileName (TabText)),
        Length (ExtractFileName (TabText)),
        OutRect, dt_Left or dt_SingleLine or dt_VCenter);
    end;
    PS mon exemple ne change que la couleur de la fonte mais
    cela n est pas compliqué de le modifié pour la couleur de
    fond

    @+ Phil

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2003
    Messages : 113
    Points : 137
    Points
    137
    Par défaut
    J'utilise ceci pour mettre en gras le caption et changer sa couleur de fond du TTabSheet actif.

    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
    procedure TForm1.OngletsDrawTab(Control: TCustomTabControl;
      TabIndex: Integer; const Rect: TRect; Active: Boolean);
    var
      S : String;
    begin
      S := TPageControl(Control).Pages[TabIndex].Caption;
     
      with TPageControl(Control).Canvas do
        begin
          Font.Color := clBlack;
     
          if Active then
            begin
              Font.Style := [fsBold];
              Brush.Color := clWhite;
            end;
     
          FillRect(Rect);
     
          TextRect(Rect,Rect.Left + ((Rect.Right - Rect.Left) div 2 - TextWidth(S) div 2),Rect.Top + ((Rect.Bottom - Rect.Top) div 2 - TextHeight(S) div 2),S);
     
        end;
    end;

  4. #4
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 434
    Points : 5 846
    Points
    5 846
    Par défaut
    salut

    j'avait esaye cela mais tu as un soucis si tu utilise
    la posibilite de cacher des onglet d'ou ma solution

    @+ Phil

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2003
    Messages : 113
    Points : 137
    Points
    137
    Par défaut
    Ah ok je ne savais pas.

    Dans mon cas je ne le permets pas donc je garde mon code

  6. #6
    Nouveau membre du Club
    Inscrit en
    Janvier 2004
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Merci pour vos reponses;

    Malheureusement j'ai testé vos methodes et aucune ne fonctionne sous delphi 8..

    Je pense que je v devoir repasser sous delphi 7



    M.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Janvier 2004
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Bon, je suis repassé a Delphi 7 et tout fonctionne...

    Merci 8)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. encore des soucis avec DFDSS
    Par syrius1509 dans le forum z/OS
    Réponses: 2
    Dernier message: 26/08/2011, 20h45
  2. des soucis avec le type "list"
    Par yuriyan dans le forum C#
    Réponses: 6
    Dernier message: 14/10/2010, 16h18
  3. [CognosScript] Encore des soucis avec une connexion ODBC
    Par ben_harper dans le forum Cognos
    Réponses: 1
    Dernier message: 23/06/2009, 19h08
  4. Des soucis avec mon application Excel sur les contacts
    Par diddle dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/11/2007, 19h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo