Как перенести данные кнопки из dlg.cpp в view.cpp? - PullRequest
0 голосов
/ 31 января 2019

В настоящее время я использую MFC C ++ в Visual Studio для своего проекта.

Я создал «OnToolsBarcode ()» в моем меню и поместил четный обработчик в свой файл CBarcodeTestDoc.

У меня есть файл dll, который может вытягивать штрих-коды.

Я использую эти коды и помещаю их в мою кнопку «рисования», которую я создал в моем диалоговом окне (CSetBarcodeDlg ::OnDraw).

Таким образом, всякий раз, когда я нажимаю на кнопку, штрих-коды появляются в моем диалоговом окне.

Далее я хочу, чтобы те же штрих-коды появлялись в моей клиентской области.Но я не уверен, как "делегировать" мой путь туда.

Логика, о которой я думаю:

  1. Получить эти "данные" из CSetBarcodeDlg :: onDraw

  2. Putэти «данные» в обработчик событий CBarcodeTestDoc :: OnToolsBarcode ()

  3. Затем попробуйте что-нибудь снова использовать эти «данные» и поместить их в CBarcodeTestView :: onDraw (CDC * pDC)


void CSetBarcodeDlg::OnDraw() //The Code in my "Draw" button:
{
    CString     csMessage;
    long        nSymbology;
    double m_PenW=Help::GetValue(m_PenWidth);
    if(m_PenW==0){m_PenW=0.8;}
    nSymbology = GetSymbology();
    m_edtMessage.GetWindowText(csMessage);  

    switch (nSymbology)
    {
        case COD128:
            DrawCode128Barcode(csMessage,m_dHeight,m_PenW,m_dNarrowBar,::GetWindowDC(this->GetSafeHwnd()),m_nStartingXPixel,m_nStartingYPixel, 0);
            break;
        case CODE39:
            DrawCode39Barcode(csMessage,m_dHeight,m_PenW,m_dNarrowBar,::GetWindowDC(this->GetSafeHwnd()),m_nStartingXPixel,m_nStartingYPixel,m_dRatio);
            break;
        case CODE93:
            DrawCode93Barcode(csMessage,m_dHeight,m_PenW,m_dNarrowBar,::GetWindowDC(this->GetSafeHwnd()),m_nStartingXPixel,m_nStartingYPixel);
            break;
        case I2OF5:
            DrawI2of5Barcode(csMessage,m_dHeight,m_PenW,m_dNarrowBar,::GetWindowDC(this->GetSafeHwnd()),m_nStartingXPixel,m_nStartingYPixel,m_dRatio);
            break;
        case RATIONALCODABAR:
            DrawRationalCodabarBarcode(csMessage,m_dHeight,m_PenW,m_dNarrowBar,::GetWindowDC(this->GetSafeHwnd()),m_nStartingXPixel,m_nStartingYPixel,m_dRatio);
            break;
    }

    return;
}

Ниже приведены части кода "CSetBarcodeDlg :: onDraw", и я не уверен, что моя логика имеет смысл.

ИтакЯ надеюсь, что кто-нибудь может помочь мне здесь.Большое вам спасибо за ваше время.

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