Как сделать полноэкранную прокручиваемую коробку сообщений или окно? - PullRequest
0 голосов
/ 23 декабря 2009

Прежде всего позвольте мне начать говорить, что я абсолютно ничего не знаю о c ++, и я на самом деле просто больше заинтересован в том, чтобы заставить это работать, чем в изучении c ++ (у меня на тарелке было достаточно, чтобы учиться).

Итак, я пытаюсь составить условия обслуживания для своего профессионального приложения для Windows Mobile 6, но мне кажется, что для этого мне нужно использовать c ++. После нескольких часов поиска я нашел решение, но оно было разработано для стандарта Windows Mobile.

Таким образом, они каким-то образом использовали c ++ для создания окна сообщений, а на стандартных устройствах (т.е. телефонах без сенсорного экрана) окно сообщений может иметь вид прокрутки. По какой-то причине это не относится к профессиональным устройствам (устройствам с сенсорным экраном).

Таким образом, мое окно сообщений исчезает со страницы, и вы никогда не сможете принять или отклонить условия. Так что вы застряли и на экране навсегда, пока вы не сделаете какой-то мягкий перезапуск.

http://www.mobilepractices.com/2008/10/setupdll-sample-and-walkthrough-terms.html

Приведенная выше ссылка является учебным пособием, но вот фактический файл, который, кажется, отображает сообщение.

#include "stdafx.h"
#include "ce_setup.h"

// This is a variable containing the text to be displayed
// in the Terms & Conditions dialog

TCHAR Message[] = _T("TERMS & CONDITIONS\r\n ")
             _T("Selecting YES you're accepting our terms & conditions.\r\n")
    _T("This is just a sample application.\r\n")
    _T("From http://www.mobilepractices.com\r\n")
    _T("You can replace this text with your own.\r\n")
    _T("We're using a setup.dll to show this dialog.\r\n")
    _T("Extra line to force vertical scrollbar.\r\n")
    _T("Extra line to force vertical scrollbar.\r\n")
    _T("Extra line to force vertical scrollbar.\r\n")
    _T("Extra line to force vertical scrollbar.\r\n")
    _T("Extra line to force vertical scrollbar.\r\n")
    _T("Extra line to force vertical scrollbar.\r\n")
    _T("Last line.\r\n")
        ;

// This function will be called when the user
// tries to install the cab. According to its return
// value the installation continues or is cancelled.
// As this could be called more than once
// (i.e. if there is not enough space on the target)
// we should take care about fFirstCall parameter
// to show the dialog only once.

codeINSTALL_INIT Install_Init(    HWND        hwndParent,
            BOOL        fFirstCall,
            BOOL        fPreviouslyInstalled,
            LPCTSTR     pszInstallDir )
{
    if (!fFirstCall 
            || 
            ::MessageBoxW(0, Message, 
            _T("SplashScreenSample")
                    , MB_YESNO) == IDYES)
        return codeINSTALL_INIT_CONTINUE;
    else
        return codeINSTALL_INIT_CANCEL;
}

Так что я хочу изменить это на то, что можно прокручивать. Можно ли использовать как панель управления, так как я знаю, что такое прокрутка или что-то еще?

Спасибо

1 Ответ

0 голосов
/ 23 декабря 2009

Я бы, вероятно, создал DialogBox с текстом TOS в TextBox. Таким образом, вы можете воспользоваться тем, что TextBox автоматически может выполнять прокрутку.

Затем вы бы использовали CreateDialog или DialogBox для фактического отображения.

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

Я знаю, что вы сказали, что не хотите изучать C (это C, а не C ++), но я действительно не могу представить, что вы будете делать это, по крайней мере, без некоторого базового понимания основ Win32, таких как WndPrcs и т. Д. В книге Дуга Болинга " Программирование Windows CE " есть несколько очень простых приложений пользовательского интерфейса, которые используют простой Win32, так что это было бы неплохим началом. Так что, вероятно, будет любой базовый учебник на DialogBox или CreateDialog .

...