Probleme CEdit , Réecriture par dessus.
jamais vu ca.:arf:
visual C++ 6, avec MFC, en librairie statique.
j'ai un Cedit standard, multiligne, alignement gauche, avec return, et scroll vertical et horizontal.
le hic, c'est que quand je mets des lignes longues, celles ci viennent se reecrire en surimpression, sur la meme ligne de départ. un truc de fou..
et lorsque la fin de ligne est rencontrée, le texte passe bien à la ligne suivante.
hors, il faudrait que la ligne entiere soit affichée sur une seule ligne et accessible via le parcours avec la barre de defilement horizontal.
ca se produit seulement pour l'instant sur une config xp home edition.
déja rencontré le probleme???
un moyen pour le résoudre, ??
s'il vous plait... je comprends pas d'ou ca peut venir..:aie:
et ca arrive juste au moment ou je dois installer le produit..
pas touché aux couleurs..
justement, c'est une des rares fenetres, ou je n'ai pas intercepté les message d'affichage pour mettre un fond ou changer quelque chose.
c'est une bete CDialog avec un affichage texte CStatic, un bouton arret, un CEDit, et un petit bitmap en bas de la forme. ridicule..
tellement ridicule et incompréensible que je te mets le code entier..
j'ai meme essayé d'agrandir la capacité du CEdit au dela des 64K au cas où, mais ca ne résout pas le probleme.
le .h
Code:
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| #if !defined(AFX_EDITSCRIPT_H__092CDCF4_5B8A_4D45_91FB_5084E20F1247__INCLUDED_)
#define AFX_EDITSCRIPT_H__092CDCF4_5B8A_4D45_91FB_5084E20F1247__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// editscript.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// editscript dialog
class editscript : public CDialog
{
// Construction
public:
editscript(CWnd* pParent = NULL); // standard constructor
CString *retour;
CString resultat;
CString texteaafficher;
CString nomdudialogue;
// Dialog Data
//{{AFX_DATA(editscript)
enum { IDD = IDD_DIALOG_EDIT_SCRIPT };
CEdit m_Editscript_Script;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(editscript)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(editscript)
virtual void OnCancel();
virtual void OnOK();
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_EDITSCRIPT_H__092CDCF4_5B8A_4D45_91FB_5084E20F1247__INCLUDED_) |
et le .cpp
Code:
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
| // editscript.cpp : implementation file
//
#include "stdafx.h"
#include "chargeur.h"
#include "editscript.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// editscript dialog
editscript::editscript(CWnd* pParent /*=NULL*/)
: CDialog(editscript::IDD, pParent)
{
//{{AFX_DATA_INIT(editscript)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
}
void editscript::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(editscript)
DDX_Control(pDX, IDC_EDIT_SCRIPT_SCRIPT, m_Editscript_Script);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(editscript, CDialog)
//{{AFX_MSG_MAP(editscript)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// editscript message handlers
void editscript::OnCancel()
{
// TODO: Add extra cleanup here
if (retour!=NULL)
*retour="";
resultat="CANCEL";
CDialog::OnCancel();
}
void editscript::OnOK()
{
// TODO: Add extra validation here
m_Editscript_Script.GetWindowText(*retour);
resultat="OK";
CDialog::OnOK();
}
BOOL editscript::OnInitDialog()
{
CDialog::OnInitDialog();
if (retour!=NULL)
*retour="";
m_Editscript_Script.SetLimitText(4111222333);
// TODO: Add extra initialization here
m_Editscript_Script.SetWindowText(texteaafficher);
this->SetWindowText(nomdudialogue);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
} |