grade final invisível
-
06-07-2019 - |
Pergunta
Eu estou tentando usar grade final do projeto de código em uma caixa de diálogo, mas a grade é invisível.
m_Plist.AttachGrid (este, IDC_CREDENTIALS) retorna true, mas o titular lugar o texto estático, onde a grade deve ser mostrado não pode ser visto e a grade não será exibida.
Eu estou usando o código de amostra a partir daqui http://www.codeproject.com/KB/MFC/UltimateGrid_Start.aspx?display=PrintAll&fid=452565&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=2629959&fr=51 #Using_the_Grid_in_a_CDialog
Eu instalei a atualização mais recente UltimateGrid72_Src_Update03.zip e Im usando VS2008 SP1.
Obrigado ...
BOOL CCredentials::OnInitDialog()
{
CDialog::OnInitDialog();
MyCug m_PList;
m_Plist.AttachGrid(this, IDC_CREDENTIALS);
}
Solução
Eu não usei final Grade mim. No entanto, olhando para o código que você postou, eu posso ver que não é provável que seja um problema: você declarar uma instância de "MyCug" na pilha, em seguida, anexá-lo, mas essa instância baseada em pilha será destruído tão logo o OnInitDialog () método existe. O que você deve fazer é colocar a declaração de "MyCug m_PList;" como um membro da classe de diálogo, para que a vida útil do objeto grade é o mesmo que o tempo de vida do diálogo.
Outras dicas
Eu não sei por que sua grade não está exibindo, as coisas estão a olhar para está-lo corretamente carregar a partir do modelo de diálogo, e é visível? Você pode usar Spy ++ (uma ferramenta distribuída com o visual studio) para ver o que as janelas são realmente criado em sua caixa de diálogo, onde estão e as bandeiras e estilos definir sobre eles.
Depois de criar e anexar a grade, você está adicionando linhas e colunas conforme definido pelos exemplos?
Caso contrário, não vai ser qualquer coisa para ver.
Você precisa ter o seguinte código no MyCug :: OnSetup ():
void MyCug::OnSetup(){
//*******Set the Rows and Columns
SetNumberCols(10);
SetNumberRows(10);
}
É a partir do tutorial na versão 7.2. Eu costumava UG extensivamente, e não tenho problemas com VS2008. Mas eu criar toda a minha grade mim, eu não usar modelos de diálogo.