Конечная сетка невидимая - PullRequest
0 голосов
/ 22 июня 2009

Я пытаюсь использовать окончательную сетку из Code Project в диалоговом окне, но сетка невидима.

m_Plist.AttachGrid (this, IDC_CREDENTIALS) возвращает true, но статический заполнитель текста, где должна отображаться сетка, не виден, а сетка никогда не отображается.

Я использую образец кода здесь 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

Я установил последнее обновление UltimateGrid72_Src_Update03.zip и использую VS2008 SP1.

Спасибо ...

BOOL CCredentials::OnInitDialog()
{
    CDialog::OnInitDialog();

    MyCug m_PList;

m_Plist.AttachGrid(this, IDC_CREDENTIALS);

}

Ответы [ 3 ]

3 голосов
/ 22 июня 2009

Я сам не использовал Ultimate Grid. Однако, глядя на код, который вы разместили, я вижу, что, вероятно, возникнет проблема: вы объявляете экземпляр «MyCug» в стеке, а затем присоединяете его, но этот основанный на стеке экземпляр будет уничтожен, как только Метод OnInitDialog () существует. Что вы должны сделать, это поместить объявление "MyCug m_PList;" как член класса диалога, так что время жизни объекта сетки совпадает со временем жизни диалога.

0 голосов
/ 22 июня 2009

После создания и присоединения сетки добавляете ли вы строки и столбцы, как определено в примерах?

В противном случае ничего не будет видно.

Вам понадобится следующий код в MyCug :: OnSetup ():

void MyCug::OnSetup(){ 

    //*******Set the Rows and Columns
    SetNumberCols(10);
    SetNumberRows(10); 

} 

Это из учебника в версии 7.2. Я широко использовал UG, и у меня нет проблем с VS2008. Но я сам создаю всю свою сетку, я не использую шаблоны диалогов.

0 голосов
/ 22 июня 2009

Я не знаю, почему ваша сетка не отображается, что нужно искать: правильно ли она загружается из шаблона диалога и видна ли она? Вы можете использовать spy ++ (инструмент, поставляемый с visual studio), чтобы увидеть, какие окна на самом деле создаются в вашем диалоге, где они находятся, а также какие флаги и стили для них установлены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...