Через CheckBox запрещаем изменять размер колонок в таблице DBGrid
Unit.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) { } //--------------------------------------------------------------------------- void __fastcall TForm1::CheckBox1Click(TObject *Sender) { if(CheckBox1->Checked) { DBGrid1->Options=TDBGridOptions(DBGrid1->Options)>>dgColumnResize; } else { DBGrid1->Options=TDBGridOptions(DBGrid1->Options)<<dgColumnResize; } }
Unit.h
//--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include <System.Classes.hpp> #include <Vcl.Controls.hpp> #include <Vcl.StdCtrls.hpp> #include <Vcl.Forms.hpp> #include <Data.DB.hpp> #include <Data.Win.ADODB.hpp> #include <Vcl.DBGrids.hpp> #include <Vcl.Grids.hpp> //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // IDE-managed Components TADOConnection *ADOConnection1; TADOTable *ADOTable1; TDBGrid *DBGrid1; TDataSource *DataSource1; TCheckBox *CheckBox1; void __fastcall CheckBox1Click(TObject *Sender); private: // User declarations public: // User declarations __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endif