Utilisation de l'api getscrollinfo

Résolu
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010 - 7 juin 2005 à 11:43
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010 - 8 juin 2005 à 12:33
Salut
j'éssaie d'utiliser cet api dans un prog ou je dois savoir la longueur du texte d'un rtb, voila le code mais ca marche po



private
struct
ScrollInfoStruct
{

public
int cbSize;

public
int fMask;

public
int nMin;

public
int nMax;

public
int nPage;

public
int nPos;

ublic
int nTrackPos;
}


[
DllImport(
"user32.dll", SetLastError =
true)]

private
static
extern
int GetScrollInfo(

IntPtr hWnd,
int n,
ref
ScrollInfoStruct lpScrollInfo);

private
void button1_Click(
object sender,
EventArgs e)
{

ScrollInfoStruct si =
new
ScrollInfoStruct();
GetScrollInfo(
rtb.Handle, 0x1,
ref si);

MessageBox.Show(si.nPos.ToString());
}

j'ai essayé ttes les si. , mais elle donne tous zéro, dernière chose , les scrolls barre sont activé ( Both ).

Merci

YaoYao !!
http://csharp.over-blog.com

10 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
8 juin 2005 à 11:33
Rien de bien sorcier, tu cherche le fichier dans les dossiers du sdk
.net, tu l'ouvres, tu cherches la valeur que tu souhaites, et tu
l'integres dans ton programme



private const int tavaleur = ... ;


A la limite, va chercher les valeurs dans ce tutorial


Mx
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
7 juin 2005 à 12:20
la longueur ? où la hauteur ?

Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
</FO< body>
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
7 juin 2005 à 12:24
Ca ne changera pas grand chose au comportement par defaut mais tu devrais rajouter l'attribut [ StructLayout( LayoutKind.Sequential ) ] a ta structure.. Et puis oui faut remplir les champs size, mask ect..
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
7 juin 2005 à 13:20
la hauteur je veux dire, mais Comment les remplir?? t'as une idée Lutinore??

MErci
YaoYao !!
http://csharp.over-blog.com
0

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

Posez votre question
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
7 juin 2005 à 13:37
Le champ "Size" se remplit avec la fonction Marchal.SizeOf( ) pour le reste la documentation te le dira mieux que moi.. Tu trouveras la valeur des flags du champ "Mask" dans le fichier "Winuser.h"
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
7 juin 2005 à 14:43
Comment ca winuser.h ?? ya les header dans le c#??
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
7 juin 2005 à 15:11
Tu travailles avec PInvoke ( DllImport ect.. ) faut donc pas s'etonner de trouver les valeurs dans les fichiers headers du C.
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
7 juin 2005 à 15:30
Exact, tu as besoins des valeurs qui se trouvent dans le header winuser.h.

Mais tu n'utilises en aucun cas winuser.h dans ton projet ;)

Mx
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
8 juin 2005 à 11:00
Mais je n'ai jamais utilisé le C, et je l'aime même po, alors que même si je prog en c# je dois connaitre le C, C nul comme programmeurs ces makrozovtiens, ben qu'ils portent tt en .net .
SVP vous pouvez me dire où se trouve ce header?? et quelles valeurs je v extraire de lui??
Merci
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
8 juin 2005 à 12:33
Mx
0
Rejoignez-nous