Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

StingGrid - Объеденение ячеек

2.2K
26 декабря 2004 года
Bigzone2
40 / / 26.12.2004
StingGrid - Объединение ячеек


С наступающим.
Подскажите как в StingGrid организовать объединение ячеек.
10
26 декабря 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by Bigzone2
Подскажите как в StingGrid организовать объединение ячеек.


Написать собственный StringGrid. Серьезно.

2.2K
26 декабря 2004 года
Bigzone2
40 / / 26.12.2004
Цитата:
Originally posted by smartsoft

Написать собственный StringGrid. Серьезно.


А расширить возможности данного низя ? :{

301
26 декабря 2004 года
lord Kelvin
897 / / 08.11.2004
Цитата:
Originally posted by Bigzone2

А расширить возможности данного низя ? :{


Можно, сделай свой TUnitedStringGrid - наследник TStringGrid.Только тяжело это будет...

259
26 декабря 2004 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Bigzone2
StingGrid - Объединение ячеек


С наступающим.
Подскажите как в StingGrid организовать объединение ячеек.


А для чего нужно объединять? Если только для приятного вида на форме, тогда есть такая штука THeaderControl.

246
27 декабря 2004 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by Bigzone2

А расширить возможности данного низя ? :{


Специально для Bigzone2. Сыровато конечно, но идея д.б. ясна. Кладу проект в аттач.

Код:
//Unit1.h
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Grids.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:    // IDE-managed Components
    TStringGrid *StringGrid1;

private:    // User declarations
    TWndMethod OldGridProc;
    void __fastcall NewGridProc(TMessage &Msg);
public:     // User declarations
    __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif

//Unit1.cpp
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
    OldGridProc = StringGrid1->WindowProc;
    StringGrid1->WindowProc = NewGridProc;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::NewGridProc(TMessage &Msg)
{
    TRect Rect1, Rect2, Rect;
    String Caption;
    int CaptionLength;

    switch (Msg.Msg)
    {
        case WM_PAINT:
        {
            OldGridProc(Msg);

            Rect1 = StringGrid1->CellRect(1, 1);
            Rect2 = StringGrid1->CellRect(2, 1);
            ::UnionRect(&Rect, &Rect1, &Rect2);
            StringGrid1->Canvas->Brush->Color = StringGrid1->FixedColor;
            StringGrid1->Canvas->FillRect(Rect);
            Frame3D(StringGrid1->Canvas, Rect, clBtnHighlight, clWindowFrame, 1);
            Caption = "Union cells";
            CaptionLength = Caption.Length();
            ::SetBkMode(StringGrid1->Canvas->Handle, TRANSPARENT );
            ::DrawText(StringGrid1->Canvas->Handle, Caption.c_str(), CaptionLength, &Rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER );

            Msg.Result = 0;

            return;
        }

        case WM_DESTROY:
        {

            StringGrid1->WindowProc = OldGridProc;

            break;
        }
    }
    OldGridProc(Msg);
}
2.2K
27 декабря 2004 года
Bigzone2
40 / / 26.12.2004
Спасибо большое.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог