Форум — Ответы ( К темам )
? | Fant: Как сделать Сut, Copy, Past в StringGrid? (12-02-2003 11:57:44) |
Кто нибудь писал функции Сut, Copy, Past в StringGrid? Мне надо перекинуть Clipboard() из Excel в StringGrid. Как это лучше сделать? | |
Павел (12-02-2003 13:07:21) | |
Вряд-ли нормально получится. Не лучше-ли вместо StringGrid использовать F1Book ? | |
Fant (13-02-2003 16:03:52) | |
Я его победил!!!!!!!!! Вставка из буфера Excel в StringGrid работает стопудово! #define Grid(x,y) StringGrid->Cells[x][y] void __fastcall TUVForm::NPastClick(TObject *Sender) { int nb=0, nw=0, x, y; static char ch, str[7]; x = StringGrid->Col; y = StringGrid->Row; try{ do{ ch = Clipboard()->AsText.c_str()[nb]; switch (ch) { case '\t': Grid(x++, y) = str; while(nw!=0) str[nw--] = NULL; break; case '\r': Grid(x, y++) = str; while(nw!=0) str[nw--] = NULL; x = StringGrid->Col; break; case '\n': break; default: if(ch == ',') ch = '.'; str[nw++] = ch; } }while(Clipboard()->AsText.c_str()[nb++]); }catch(...){}; } | |
Павел (14-02-2003 09:16:44) | |
Поздравляю !
| |
Alexander (17-03-2003 15:02:04) | |
Проблема на самом деле не только в этом. Если надо сделать копирование в текущую ячейку, причем в момент ее редактирования, то нужен доступ к свойству InplaceEditor. А оно определено как private в TCustomDrawGrid. Мне пришлось наследовать от TStringGrid и добавлять три метода — cut, copy, paste — из них обращение к inplace editor идет нормально.
|