С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Существуют ли какие-нибудь библиотеки C++ для работы с HTML - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Консольная игра не соответствует требованиям http://www.cyberforum.ru/cpp-beginners/thread1217656.html
Здравствуйте. Есть определенное описание текстовой консольной "игры", и вот такие требования: 1. Источником информации для нее служит текстовый файл определенной структуры (xml, json, что-то свое,...
C++ Куча непонятных ошибок Вот код: #include "stdafx.h" #include <iostream> #include <fstream> int main() { std::ifstream ifs("test.txt", std::ifstream::in); char c = ifs.get(); http://www.cyberforum.ru/cpp-beginners/thread1217651.html
C++ Как определить тип данных потока istream
создал класс, перегрузил оператор ввода istream & operator >>(istream& in, Stack& cl){ } дальше нужно передать данные в нужную функцию, вопрос, как определить введённый тип данных?
C++ Условная компиляция с массивом
Вообще с помощью условной компиляции надо сравнить первые три ячейки массива с такими номерами -050,093,098,065, если подходят то хорошо. Примеров нет в интернет, кто может сделать? Заранее...
C++ Записать в файл g все числа из заданного массива, кратные 3; найти ошибки в коде http://www.cyberforum.ru/cpp-beginners/thread1217604.html
Задача следующая: Создать файл f, содержащий одномерный массив из 10 целых чисел. Записать в файл g все числа из этого массива, кратные 3. После введения элементов массива вылетает ошибка такого...
C++ Ранжирование двустрочной таблицы, состоящей из цифр Нужно организовать ранжирование двустрочной таблицы, состоящей из цифр. Помогите пожалуйста. Не знаю даже как начать это делать подробнее

Показать сообщение отдельно
deniska91
54 / 3 / 3
Регистрация: 17.05.2014
Сообщений: 72
06.12.2014, 18:28  [ТС]
Вот простой пример нажатия кнопки
Сначала код html страницы:
Кликните здесь для просмотра всего текста
HTML5
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
<html>
<head>
<style>
#myButton{
    behavior: button;
    width: 100px;
    height: 30px;
    text-align:center;
    line-height: 30px;
    background-color: #BABABA;
    color: #434343;
    border: 1px solid #0D0D0D;
    cursor: pointer;
}
#myButton:hover{
    color: #222222;
}
#myButton:active{
    font-weight: bold;
}
</style>
</head>
<body>
<div id = "myButton">Click me</div>
</body>
</html>


И полный С++ код (сделал для простоты все в одном cpp файле)
Кликните здесь для просмотра всего текста
C++
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#include <HTMLayout\htmlayout.h>
#include <tchar.h>
#include <Windows.h>
 
#pragma comment ( lib, "HTMLayout.lib" )
 
LRESULT CALLBACK WindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
 
struct DOMEventsHandlerType: htmlayout::event_handler
{
      DOMEventsHandlerType(): event_handler( 0xFFFFFFFF ) {}
      virtual BOOL handle_event ( HELEMENT he, BEHAVIOR_EVENT_PARAMS& params ) 
      { 
        switch( params.cmd )
        {
        case BUTTON_CLICK: 
        {// click on button        
            htmlayout::dom::element el = params.heTarget;
            HWND hWnd = el.get_element_hwnd( true );
            if ( !wcscmp( el.get_attribute( "id" ), _T( "myButton" )))
                MessageBox( hWnd, _T( "You click on the button" ), _T( "Message" ), MB_OK );
            break;
        }   
        case BUTTON_PRESS:              break;// mouse down or key down in button
        case BUTTON_STATE_CHANGED:      break;
        case EDIT_VALUE_CHANGING:       break;// before text change
        case EDIT_VALUE_CHANGED:        break;//after text change
        case SELECT_SELECTION_CHANGED:  break;// selection in <select> changed
        case SELECT_STATE_CHANGED:      break;// node in select expanded/collapsed, heTarget is the node
        case POPUP_REQUEST: 
                                        break;// request to show popup just received, 
                                              //     here DOM of popup element can be modifed.
        case POPUP_READY:               break;// popup element has been measured and ready to be shown on screen,
                                              //     here you can use functions like ScrollToView.
        case POPUP_DISMISSED:           break;// popup element is closed,
                                              //     here DOM of popup element can be modifed again - e.g. some items can be removed
                                              //     to free memory.
        case MENU_ITEM_ACTIVE:                // menu item activated by mouse hover or by keyboard
             break;
        case MENU_ITEM_CLICK:                 // menu item click 
             break;
 
 
            // "grey" event codes  - notfications from behaviors from this SDK 
        case HYPERLINK_CLICK:           break;// hyperlink click
        case TABLE_HEADER_CLICK:        break;// click on some cell in table header, 
                                              //     target = the cell, 
                                              //     reason = index of the cell (column number, 0..n)
        case TABLE_ROW_CLICK:           break;// click on data row in the table, target is the row
                                              //     target = the row, 
                                              //     reason = index of the row (fixed_rows..n)
        case TABLE_ROW_DBL_CLICK:       break;// mouse dbl click on data row in the table, target is the row
                                              //     target = the row, 
                                              //     reason = index of the row (fixed_rows..n)
 
        case ELEMENT_COLLAPSED:         break;// element was collapsed, so far only behavior:tabs is sending these two to the panels
        case ELEMENT_EXPANDED:          break;// element was expanded,
 
        }
        return FALSE; 
      }
 
} DOMEventsHandler;
 
 
 
int CALLBACK WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
    WNDCLASSEX mainWindow;
 
    memset( &mainWindow, 0, sizeof( WNDCLASSEX ));
 
    mainWindow.cbSize        = sizeof( WNDCLASSEX );
    mainWindow.hbrBackground = ( HBRUSH )GetStockObject( WHITE_BRUSH );
    mainWindow.hCursor       = LoadCursor( NULL, IDC_ARROW );
    mainWindow.hInstance     = hInstance;
    mainWindow.lpfnWndProc   = WindowProc;
    mainWindow.lpszClassName = _T( "Example" );
 
    RegisterClassEx( &mainWindow );
 
    HWND hWnd = CreateWindowEx( NULL, mainWindow.lpszClassName, _T( "Example" ), WS_VISIBLE | WS_OVERLAPPEDWINDOW, \
                                CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, \
                                HWND_DESKTOP, NULL, hInstance, 0 );
 
    if ( NULL == hWnd )
    {
        MessageBox( NULL, _T( "Error creating window" ), _T( "Error" ), MB_OK );
        return EXIT_FAILURE;
    }
 
    MSG uMsg;
    BOOL bRet;
    while( 0 != ( bRet = GetMessage( &uMsg, NULL, 0, 0 )))
    {
        if ( -1 == bRet )
        {
            return EXIT_FAILURE;
        }
        else    
        {
            TranslateMessage( &uMsg );
            DispatchMessage( &uMsg );
        }
    }
    
    return uMsg.wParam;
}
 
LRESULT CALLBACK WindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
    BOOL bHandled;
    LRESULT lResult = HTMLayoutProcND( hWnd, uMsg, wParam, lParam, &bHandled );
    if ( 0 != bHandled ) return lResult;
 
    switch( uMsg )
    {
        case WM_CREATE:
            htmlayout::attach_event_handler(hWnd, &DOMEventsHandler);
 
            HTMLayoutLoadFile( hWnd, _T( "D:\\Projects\\C++\\Lessons\\HTMLayout\\Example\\index.html" ));
            return 0;
 
        case WM_DESTROY:
            PostQuitMessage( 0 );
            return 0;
    }
    return DefWindowProc( hWnd, uMsg, wParam, lParam );
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.