Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3728 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  SetStyle & PocketPC...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

SetStyle & PocketPC...

n°1528762
Evil_Ifrit
gooby pls
Posté le 15-03-2007 à 10:00:46  profilanswer
 

Messieurs, mesdames, bonjour.
 
Mon problème est simple :
Je dois dévelloper une barre de chargement circulaire sur PocketPC.
Pour ce faire, je me suis inspiré de codes existants trouvés sur internet.
Et dans chacun de ces codes de création de composants,
ils utilisent la fonction 'SetStyle'.
 
Or cette fonction n'existe pas sur les PocketPC...
 
Y a t'il un moyen de la remplacer, ou de pouvoir l'utiliser ?
 
Merci d'avance.


---------------
Soon.
mood
Publicité
Posté le 15-03-2007 à 10:00:46  profilanswer
 

n°1528813
MagicBuzz
Posté le 15-03-2007 à 11:23:38  profilanswer
 

Elle fait quoi au juste cette méthode ?

n°1528841
Evil_Ifrit
gooby pls
Posté le 15-03-2007 à 12:05:45  profilanswer
 

Trouvé sur les docs MSDN :
 
Control.SetStyle Method :
Sets the specified style bit to the specified value

 
Le problème étant que je n'arrive pas à fixer la valeur de ces 'styles bits' sans utiliser cette méthode :/
 
Portion de mon code qui ne marche pas (si ça peut aider) :
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.ResizeRedraw, true);
SetStyle(ControlStyles.SupportsTransparentBackColor, true);


---------------
Soon.
n°1528930
MagicBuzz
Posté le 15-03-2007 à 14:43:00  profilanswer
 

Bon, y'a clairement pas assez d'infos là.
 
Pkoi t'en a besoin ? Pour quoi faire ?

n°1528933
Evil_Ifrit
gooby pls
Posté le 15-03-2007 à 14:56:27  profilanswer
 

Merci de te pencher sur mon problème :]
 
J'ai le code C# d'une barre de chargement circulaire,
que j'arrive parfaitement à faire fonctionner sur une appli Windows normale.
Mais je dois porter cette barre de chargement sur une appli PocketPC.
 
Or, certaines fonctions, comme SetStyle, n'existent pas sur PocketPC.
Et quand je commente les lignes correspondantes (celles citées au dessus), ma barre de chargement ne s'affiche pas...
j'en ai donc déduit qu'elles devaient être essentielles au bon fonctionnement.
 
J'aimerais savoir si il y a un équivalent de cette fonction, ou un moyen de l'utiliser,
afin de pouvoir faire fonctionner ma barre de chargement.


Message édité par Evil_Ifrit le 15-03-2007 à 15:07:14

---------------
Soon.
n°1528940
MagicBuzz
Posté le 15-03-2007 à 15:23:29  profilanswer
 

ben refait tout à la main, ce sera plus simple...
 
je voulais te poster un exemple que j'ai écrit en vitesse, mais y'a pas de FillPie() sur PocketPC, et ça me lourde de chercher un moyen de le dessiner à la main du coup. mais ça se torche en quelques minutes...

n°1528941
MagicBuzz
Posté le 15-03-2007 à 15:25:09  profilanswer
 

Code qui marche pas sur PocketPC, mais pas compliqué à refaire proprement (virer les Brush et mettre Color à la place, et remplacer le FillPie par un truc qui marche sur PocketPC... j'imagine un FillEllipse par dessus lequel on dessine un polygone effaçant tout de dont on n'a pas besoin :/

Code :
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Drawing;
  5. using System.Data;
  6. using System.Text;
  7. using System.Windows.Forms;
  8. namespace MagicProgressBar
  9. {
  10.     public partial class Circular : UserControl
  11.     {
  12.         private ulong min = 0;
  13.         private ulong max = 100;
  14.         private ulong value = 0;
  15.         public ulong Min
  16.         {
  17.             get
  18.             {
  19.                 return this.min;
  20.             }
  21.             set
  22.             {
  23.                 if (value > this.max) throw new OverflowException("Min value can't be bigger than Max value" );
  24.                 if (value > this.value) throw new OverflowException("Min value can't be bigger than current value" );
  25.                 this.min = value;
  26.             }
  27.         }
  28.         public ulong Max
  29.         {
  30.             get
  31.             {
  32.                 return this.max;
  33.             }
  34.             set
  35.             {
  36.                 if (value < this.max) throw new OverflowException("Max value can't be lower than Min value" );
  37.                 if (value < this.value) throw new OverflowException("Max value can't be lower than current value" );
  38.                 this.max = value;
  39.             }
  40.         }
  41.         public ulong Value
  42.         {
  43.             get
  44.             {
  45.                 return this.value;
  46.             }
  47.             set
  48.             {
  49.                 if (value > this.max) throw new OverflowException("Current value can't be bigger than Max value" );
  50.                 if (value < this.min) throw new OverflowException("Current value can't be lower than Min value" );
  51.                 this.value = value;
  52.             }
  53.         }
  54.         public Circular()
  55.         {
  56.             InitializeComponent();
  57.         }
  58.         protected override void OnPaint(PaintEventArgs e)
  59.         {
  60.             base.OnPaint(e);
  61.             Pen p = new Pen(Brushes.Black, 1f);
  62.             e.Graphics.FillPie(Brushes.Red, new Rectangle(this.ClientRectangle.X, this.ClientRectangle.Y, this.ClientSize.Width - 1, this.ClientSize.Height - 1), 0f, (this.min < this.max) ? (360 * (this.value - this.min) / (this.max - this.min)) : 0);
  63.             e.Graphics.FillEllipse((new Pen(this.BackColor)).Brush, new Rectangle(this.ClientRectangle.X + 30, this.ClientRectangle.Y + 30, this.ClientSize.Width - 59, this.ClientSize.Height - 59));
  64.             e.Graphics.DrawEllipse(p, new Rectangle(this.ClientRectangle.X, this.ClientRectangle.Y, this.ClientSize.Width - 1, this.ClientSize.Height - 1));
  65.             e.Graphics.DrawEllipse(p, new Rectangle(this.ClientRectangle.X + 30, this.ClientRectangle.Y + 30, this.ClientSize.Width - 59, this.ClientSize.Height - 59));
  66.         }
  67.     }
  68. }

n°1528945
MagicBuzz
Posté le 15-03-2007 à 15:29:01  profilanswer
 

http://magicbuzz.multimania.com/files/moche.png
 
C'est très laid mais bon, ça donne une idée de ce qu'on peut faire en 5 minutes, plutôt que de chercher des heures à faire marcher un truc pas prévu pour ce qu'on veut faire.


Message édité par MagicBuzz le 15-03-2007 à 15:30:13
n°1528954
Evil_Ifrit
gooby pls
Posté le 15-03-2007 à 15:41:37  profilanswer
 

Whaho, merci beaucoup MagicBuzz :love:


Message édité par Evil_Ifrit le 15-03-2007 à 15:41:55

---------------
Soon.
n°1528962
MagicBuzz
Posté le 15-03-2007 à 15:54:33  profilanswer
 

T'es prévenu hein ! Ca marche pas sous PocketPC.
Y'a pas grand chose à changer, mais notamment le FillPie marche pas, donc faut se faire chier à faire un FillElipse et virer toute ce qui n'est pas dans la zone désirée... Pas compliqué en soit mais bon...

mood
Publicité
Posté le 15-03-2007 à 15:54:33  profilanswer
 

n°1528968
Evil_Ifrit
gooby pls
Posté le 15-03-2007 à 16:06:22  profilanswer
 

Ouaip, je suis en train de faire ça :]
 
Encore merci.


Message édité par Evil_Ifrit le 15-03-2007 à 16:06:31

---------------
Soon.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  SetStyle & PocketPC...

 

Sujets relatifs
[PocketPC] API équivalente à WMI ...[.NET] Appli windows, pocketpc etc. avec 1 seul source ?
? envoyer un sms depuis un portable par un PocketPCQuel prix pour une version PocketPC d'un soft ?
XML SAX PocketPC ?????[Pocket PC] recuperer la force du signal wifi
[POCKETPC] test présence sur base 
Plus de sujets relatifs à : SetStyle & PocketPC...


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)