Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

WINAPI Listbox

Ostatnio zmodyfikowano 2016-05-01 23:54
Autor Wiadomość
Martiial
Temat założony przez niniejszego użytkownika
WINAPI Listbox
» 2016-05-01 17:34:21
Panowie, Panie.

Czy macie jakiś pomysł jak wkleić w ListBoxa dane ze struktury.

ListBox:
hlistbox=CreateWindowEx(WS_EX_CLIENTEDGE,
L"LISTBOX",
NULL,
WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | ES_MULTILINE |   ES_AUTOVSCROLL,
30, 30, 180, 100,
hWnd,
NULL,
hInstance,
NULL );
________________________________________________________________
Struktura:
typedef struct _SCAN_RESULT
{
TCHAR szScanValue[MAX_PATH]; // barcode value(compatible to szScanMaxValue)
TCHAR szScanType[MAX_PATH]; // barcode name.
TCHAR tcCodeID; // barcode ID.
BAR_TYPE barType; // barcode type(BAR_TYPE).
TCHAR tcSymLetter; // barcode Letter(for 2D).
TCHAR tcSymModifier; // barcode Modifier(for 2D).
WORD unScanLength; // barcode value's length.
TCHAR szScanMaxValue[MAX_PATH*15]; // barcode value.(if you read to large barcode(have the many data) szScanValue is not enough fill scan data. so as use as possible this variable.
// Reserve field
DWORD dwDecodeTime; // DecodeTime (ms)
DWORD dwResultReserve02; // Reserve field 02.
} SCAN_RESULT, *PSCAN_RESULT;
_________________________________________________________________

Stworzyłem coś takiego:
_SCAN_RESULT wynik;
I się zastanawiam jak wstawić. Bo jak zrobiłem:

CString str = wynik.szScanValue;
int lenghthlb=GetWindowTextLength(hlistbox);
for (int i = 0; i < lenghthlb; i++)
{
   hlistbox.AddString(str);
}

To wywaliło mi błąd:

1>.\cAB11.cpp(240) : error C2228: left of '.AddString' must have class/struct/union
1>        type is 'HWND'
1>        did you intend to use '->' instead?

I odrazu jak moglibyście mi pomóc z napisaniem kodu,że
zawartość listboxa dajemy w plik txt, który na podstawie nazwy zawartej w hedit jest tworzony.
P-147832
Gibas11
» 2016-05-01 17:58:09
A
hlistbox
 to nie jest przypadkiem wskaźnik? Jak chcesz wywołać metodę obiektu na który wskazuje... przeczytaj log kompilatora, bo opisał Ci rozwiązanie w całkowicie przystępny sposób.
EDIT: Sprawdziłem, HWND jest wskaźnikiem bo HWND = HANDLE = PVOID = void*. Btw dlatego nie używa się WinAPI kiedy można.
P-147836
Martiial
Temat założony przez niniejszego użytkownika
» 2016-05-01 18:06:16
Panie, nie musisz mnie do tego przekonywać żeby WINAPI unikać jak ognia. Sytuacja mnie do tego zmusiła, bo na WIN CE ciężko używać czegoś innego.
P-147837
Gibas11
» 2016-05-01 18:10:00
No ten... http://doc.qt.io/qt-5​/install-wince.html, dobrze wiedzieć, że ten oficjalny poradnik na stronie Qt jest niepoprawny bo na WCE działa dobrze tylko WinAPI.

Zresztą, co z problemem, jest już ok?
P-147838
Martiial
Temat założony przez niniejszego użytkownika
» 2016-05-01 18:13:13
Qt? Pierwszy raz widzę coś takiego. To jakaś biblioteka do c++?

EDiT:

CListBox listbox;
CString str = wynik.szScanValue;
int lenghthlb=GetWindowTextLength(hlistbox);
for (int i = 0; i < lenghthlb; i++)
{
   listbox.AddString(str);
}


hlistbox=CreateWindowEx( WS_EX_CLIENTEDGE,
L"LISTBOX",
NULL,
WS_CHILD | WS_VISIBLE | WS_BORDER | WS_VSCROLL | ES_MULTILINE | ES_AUTOVSCROLL,
30, 30, 180, 100,
hWnd,
NULL,
hInstance,
listbox );

Still not working, gdzie skopałem.

Po zeskanowaniu kodu, dalej listbox jest pusty.
P-147839
Gibas11
» 2016-05-01 18:37:57
Tak, nie pozwala na wszystko to co WinAPI (np. obsługę koloru tekstu w konsoli), ale wystarczy do napisania aplikacji okienkowej a z wykorzystaniem Qt Creator (b. dobre IDE) sam layout zrobisz w 5 minut i zostaje sam backend.

Tu masz moje kółko i krzyżyk (https://github.com/KoczurekK​/tic-tac-toe), łącznie 1.5h pracy, ale nigdy w życiu nie widziałem wcześniej Qt, więc jest w to wliczony czas nauki.
P-147842
Martiial
Temat założony przez niniejszego użytkownika
» 2016-05-01 18:43:48
A jak kodzik który dałem wyżej?
P-147843
Gibas11
» 2016-05-01 18:49:31
A teraz już kompiluje się poprawnie?
Nawet nie mam Windowsa na PC od kilku lat a w WinAPI nie programowałem jeszcze dłużej, więc poza rozwiązywaniem błędów kompilacji niewiele umiem, niech wypowie się ktoś kto tego używa. :|
P-147845
« 1 » 2
  Strona 1 z 2 Następna strona