Серго
Дата: Среда, 27.11.2013, 16:01 | Сообщение # 1
BRATIWKA))0
Сообщений: 10
Статус: Offline
Здравствуйте, заметил что в RakSamp`e нет стиля диалога DIALOG_STYLE_PASSWORD, кому нужно, держите.
В netrpc.h
после
Код
#define DIALOG_STYLE_LIST 2
Добавляем
Код
#define DIALOG_STYLE_PASSWORD 3
В netrpc.cpp
Ищем void ScrDialogBox(RPCParameters *rpcParams)
В этой функции находим switch(sampDialog.bDialogStyle)
И после
Код
case DIALOG_STYLE_INPUT:
Добавляем
Код
case DIALOG_STYLE_PASSWORD:
В netrpc.cpp
Ищем LRESULT CALLBACK SAMPDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
В этой функции после:
Код
case DIALOG_STYLE_LIST: { hwndListBox = CreateWindowEx(NULL, "LISTBOX", "", WS_CHILD | WS_VISIBLE | LBS_NOTIFY | WS_VSCROLL | WS_BORDER | LBS_HASSTRINGS, 10, 10, 375, 225, hwnd, (HMENU)IDL_LISTBOX, hInst, NULL); char *szInfoTemp = strtok(sampDialog.szInfo, "\n"); while(szInfoTemp != NULL) { int id = SendMessage(hwndListBox, LB_ADDSTRING, 0, (LPARAM)szInfoTemp); SendMessage(hwndListBox, LB_SETITEMDATA, id, (LPARAM)id); szInfoTemp = strtok(NULL, "\n"); } CreateWindowEx(NULL, "BUTTON", sampDialog.szButton1, WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON, 100, 230, 100, 24, hwnd, (HMENU)IDB_BUTTON1, hInst, NULL); CreateWindowEx(NULL, "BUTTON", sampDialog.szButton2, WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON, 210, 230, 100, 24, hwnd, (HMENU)IDB_BUTTON2, hInst, NULL); } break;
Вставляем:
Код
case DIALOG_STYLE_PASSWORD: { CreateWindowEx(NULL, "EDIT", "", WS_CHILD | WS_VISIBLE | WS_BORDER, 50, 200, 300, 24, hwnd, (HMENU)IDE_INPUTEDIT, hInst, NULL); CreateWindowEx(NULL, "BUTTON", sampDialog.szButton1, WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON, 100, 230, 100, 24, hwnd, (HMENU)IDB_BUTTON1, hInst, NULL); CreateWindowEx(NULL, "BUTTON", sampDialog.szButton2, WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON, 210, 230, 100, 24, hwnd, (HMENU)IDB_BUTTON2, hInst, NULL); } break;
Вот и все, урок не сложный, +сов не прошу.
Выше был мой способ добавления, но Z☺Rek подсказал более оптимальный способ решения проблемы. В netrpc.cpp ищем void ScrDialogBox(RPCParameters *rpcParams) В этой функции находим switch(sampDialog.bDialogStyle) и перед ним ставим Код
if(sampDialog.bDialogStyle == 3) sampDialog.bDialogStyle = 1;
В netrpc.cpp ищем LRESULT CALLBACK SAMPDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) И добавляем в эту функцию Код
if(sampDialog.bDialogStyle == 3) sampDialog.bDialogStyle = 1;
#skype: prosto.sergo
Сообщение отредактировал Серго - Среда, 27.11.2013, 20:50
CentiuS
Дата: Среда, 27.11.2013, 20:21 | Сообщение # 2
Ignat Bantserov
Сообщений: 398
Статус: Offline
Серго , при обработке ставишь условие, если стиль диалога 3 - менять его на 2, и все, катавасия решена. зачем 2 раз писать один и тот же обработчик?
Серго
Дата: Среда, 27.11.2013, 20:40 | Сообщение # 3
BRATIWKA))0
Сообщений: 10
Статус: Offline
Цитата Z☺Rek (
)
Серго, при обработке ставишь условие, если стиль диалога 3 - менять его на 2, и все, катавасия решена. зачем 2 раз писать один и тот же обработчик?
Как я не подумал . Спасибо за помощь. Только менять не на 2, а на 1
#skype: prosto.sergo
Сообщение отредактировал Серго - Среда, 27.11.2013, 20:47