|
#1
|
|||
|
|||
окраска дбгрид
у меня два вопроса первый как окрасить активную строку в дбгриде и второй как при нажатии на кнопку открыть файл лежащий в корне с программой
|
#2
|
||||
|
||||
1. нужно использовать событие OnDrawColumnCell компонента TDBGrid (или какой там у вас):
Код:
procedure TAvtoknigaForm.DBGridPartDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var photofile: string; begin photofile := IBMainPart.FieldByName('PHOTOFILE').AsString; if (Length(photofile) > 0) And (Not FileExists(photofile)) then begin DBGridPart.Canvas.Brush.Color := clRed; DBGridPart.Canvas.Font.Style := []; DBGridPart.Canvas.Font.Color := clWhite; DBGridPart.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; if (Length(photofile) > 0) And (FileExists(photofile)) then begin DBGridPart.Canvas.Brush.Color := clSkyBlue; DBGridPart.Canvas.Font.Style := []; DBGridPart.Canvas.Font.Color := clBlack; DBGridPart.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; if State = [gdFocused] then begin DBGridPart.Canvas.Brush.Color := clSilver; DBGridPart.Canvas.Font.Style := [fsBold]; DBGridPart.Canvas.Font.Color := clBlack; DBGridPart.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; if gdSelected in State then begin DBGridPart.Canvas.Brush.Color := clSilver; DBGridPart.Canvas.Font.Style := [fsBold]; DBGridPart.Canvas.Font.Color := clBlack; DBGridPart.DefaultDrawColumnCell(Rect, DataCol, Column, State); end; end; 2. В Uses нужно добавить ShellAPI и юзать ShellExecute. пример: Код:
ShellExecute(Handle,'open','prog.exe','параметры запуска','директория запуска',SW_SHOWNORMAL); Код:
WinExec('prog.exe',SW_SHOWNORMAL); Коли навчався в школі я - в мені росли мозгЫ. КудИж вони поділися? гы-гы гы-гы гы-гы... ICQ: 593977748 Nick: Marvel Последний раз редактировалось Marvel, 21.06.2010 в 07:40. |