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

Composants VCL Delphi Discussion :

Datetimepicker sous Windows 2008 ou vista


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Ingenieur developpement
    Inscrit en
    Septembre 2002
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingenieur developpement

    Informations forums :
    Inscription : Septembre 2002
    Messages : 175
    Par défaut Datetimepicker sous Windows 2008 ou vista
    bonjour à tous,

    Je suis sous D7 et j'utilise les TdatetimePicker afin de sélectionner une date et les numéro de semaine me sont indispensables.

    Je fais donc afficher les semaines avec le code suivant dans le dropdown

    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
    var
      LStyle: Integer;
      LReqRect: TRect;
      LMaxTodayWidth: Integer;
    begin
      with Sender do
      begin
        // set style to include week numbers
        LStyle := GetWindowLong(CalendarHandle, GWL_STYLE);
        SetWindowLong(CalendarHandle, GWL_STYLE, LStyle or MCS_WEEKNUMBERS);
        FillChar(LReqRect, SizeOf(TRect), 0);
        // get required rect
        Win32Check(MonthCal_GetMinReqRect(CalendarHandle, LReqRect));
        // get max today String width
        LMaxTodayWidth := MonthCal_GetMaxTodayWidth(CalendarHandle);
        // adjust rect width to fit today String
        if LMaxTodayWidth > LReqRect.Right then
          LReqRect.Right := LMaxTodayWidth;
        // set new height & width
        SetWindowPos(CalendarHandle, 0, 0, 0, LReqRect.Right, LReqRect.Bottom,
          SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOZORDER);
      end;
    end;
    Cela fonctionne bien sous XP ou serveur 2003 mais j'ai un problème de numéro de semaine sous Vista ou 2008. La première semaine (du 4 au 10 janvier) commence à 2 et décale donc toutes les semaines affichées.
    La largeur du DateTimePicker n'est plus assez grande non plus. Je suis obligé de l'élargir.

    Quelqu'un a-t-il une solution ?
    Faut-il tapper sur les programmeurs de Microsoft pour qu'ils corrigent ?

    merci de votre aide

  2. #2
    Membre confirmé
    Profil pro
    Ingenieur developpement
    Inscrit en
    Septembre 2002
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingenieur developpement

    Informations forums :
    Inscription : Septembre 2002
    Messages : 175
    Par défaut
    Y aurait il un moyen de dire au composant que la première semaine de 4 jours est la première semaine de l'année ?
    Est ce que c'est paramétrable dans windows ?

    il est possible de le faire dans outlook mais définir la norme iso dans windows ?

  3. #3
    Membre confirmé
    Profil pro
    Ingenieur developpement
    Inscrit en
    Septembre 2002
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingenieur developpement

    Informations forums :
    Inscription : Septembre 2002
    Messages : 175
    Par défaut
    les dateTimePickers sous Windows Serveur 2008 ou sous vista n'apprécient pas le XPManifest. Après avoir supprimer dans les uses XPMan, les calendriers se comportent normalement avec les numéros de semaine et la largeur.

    {$R WindowsXP.res}

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/07/2009, 10h55
  2. [2008 Express] sous Windows 2008 Web Server
    Par CUCARACHA dans le forum Administration
    Réponses: 0
    Dernier message: 18/06/2009, 00h09
  3. DNS sous Windows 2008 server
    Par sarapis dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 15/01/2009, 12h55

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