Құрастырушы: аға оқытушы Алимова Ж. С


-қадам . Қалқып шығатын менюінің тосқауыл және рұқсат



жүктеу 3,39 Mb.
Pdf просмотр
бет58/64
Дата20.01.2020
өлшемі3,39 Mb.
#27116
түріБағдарламасы
1   ...   54   55   56   57   58   59   60   61   ...   64

2-қадам . Қалқып шығатын менюінің тосқауыл және рұқсат 
2-қадам . Қалқып шығатын менюінің тосқауыл және рұқсат 
командалары.
командалары.
Мүмкін болатын рұқсат етілген командалары:

 «Открыть» командасына әрқашан рұқсат етіледі. 

  «Вставить»   командасына   рұқсат   етіледі,   егер   графикалық   сурет
алмасу буферінде болған жағғдайда. 

Ал қалған командаларға рұқсат етіледі, егер МҚ-ның сәйкес өрісінің
құрамында  сурет болған жағдайда.
Меню   пайда   болатынның   алдындағы
 OnPopup   жағдайын
қолданамыз.  Онда МҚ-ның қай өрісінде тексерілетін берілгендер бар екенін
міндетті түрде анықтау керек:
1. Қолданылатын модульдер құрамына clipbrd. Модульін қосыңыз.
2. Отметьте   на   Формада    ClipMenu   компонентін   белгілеңіз   және
инспектора  объект   көмегімен   OnPopup  жағдайының   төменде  көрсетілген
өңдеушісін құрыңыз: 
procedure TfmMain.MenuClipPopup(Sender: TObject);
var j:integer;
    dbIM:TDBImage;   
//Ссылка на компонент, из которого вызвано 
меню
    nmField:string; 
//Имя поля БД, с которым связан компонент
    tmf:TMemoField; 
//Ссылка на поле БД, с которым связан 
компонент
 
begin
 nmField:=''; dbIM:=nil;
 
// Запрет – разрешение пунктов меню:
 With MenuClip do begin
  Items[1].Enabled := Clipboard.HasFormat(CF_PICTURE); 
//Вставка
  if PopupComponent is TDBImage then  dbIM:=(PopupComponent as 
TDBImage);
  if dbIm<>nil then begin
    nmField:=dbIM.DataField;
    tmf:=dbIM.DataSource.DataSet.FieldByName(nmField) as 
TMemoField;
    if tmf<>nil then begin
     if tmf.BlobSize>0 then Items[2].Enabled :=True
      else Items[2].Enabled :=False; 
//Копирование
      Items[3].Enabled :=Items[2].Enabled;  
//Вырезка
      Items[4].Enabled :=Items[2].Enabled;  
//Сохранение
      Items[5].Enabled :=Items[2].Enabled;  
//Очистка
    end;
  end;
  
//Присвоить номера картинок для пунктов меню:
  for j:=0 to Items.Count -1 do
    if Items[j].Enabled then Items[j].ImageIndex:=2*j
     else Items[j].ImageIndex:=2*j+1;
 end;


end;
3. Программаны   жіберіп,   оны   тексеріңіз.   Егер   алмасу   буферінде
графикалық   сурет   бар   болса,   онда   қою   командасы   рұқсат   етілген   болып
есептеледі, ал басқа жағдайда тосқауыл қойылған болып есептеледі. 
3
3
-қадам
-қадам


Қалқып шығатын меню командаларын программалау.
Қалқып шығатын меню командаларын программалау.
1. Формаға    Dialogs  терезесінен    OpenPictureDialog  және
SavePictureDialog,  компоненттерін   орналастырыңыз,   содан   кейін   олардың
Name    қасиетіне  dlgOpenImage  және  dlgSaveImage  мағыналарын
меншіктеңіз..
2. Дизайнер  менюінде щелкните по пункту «Открыть» пункті бойынша
шертіп, төменде көрсетілген процедураны құрыңыз: 
3. procedure TfmMain.mcOpenClick(Sender: TObject);
var  dbIM:TDBImage;
begin
 if Not(dlgOpenImage.Execute) then Exit;
 dbIm:=nil;
 With MenuClip do
  if PopupComponent is TDBImage then  dbIM:=(PopupComponent as 
TDBImage);
   if dbIm<>nil then begin
       if dbIM.DataSource.State <> dsEdit then dbIM.DataSource.Edit;
       dbIM.Picture.LoadFromFile(dlgOpenImage.FileName);
       dbIM.DataSource.DataSet.Post;
   end;
end;
4. Программаны орындауға жіберіңіз және  «Открыть»  командасының
жұмысын кез- келген сурет арқылы тексеріңіз.
5.   2-ші пункттегідей етіп менюдің басқа пункттері үшін төменде
көрсетілген процедураны құрыңыз:
procedure TfmMain.mcPasteClick(Sender: TObject);
var  dbIM:TDBImage;
begin
 dbIm:=nil;
 With MenuClip do
 if PopupComponent is TDBImage then  dbIM:=(PopupComponent as 
TDBImage);
   if dbIm<>nil then begin
     try
      dbIm.PasteFromClipboard;
      dbIM.DataSource.DataSet.Post;
     except
      ShowMessage('Буфер не содержит необходимый рисунок.');
     end;
   end;
end;


procedure TfmMain.mcPasteClick(Sender: TObject);
var  dbIM:TDBImage;
begin
if Not(Clipboard.HasFormat(CF_PICTURE)) then Exit;
 dbIm:=nil;
 With MenuClip do
 if PopupComponent is TDBImage then  dbIM:=(PopupComponent as 
TDBImage);
   if dbIm<>nil then begin
     try
      dbIm.PasteFromClipboard;
      dbIM.DataSource.DataSet.Post;
     except
      ShowMessage('Ошибка сохранения рисунка.');
     end;
   end;
end;
procedure TfmMain.mcCopyClick(Sender: TObject);
var  dbIM:TDBImage;
begin
 dbIm:=nil;
 With MenuClip do
 if PopupComponent is TDBImage then  dbIM:=(PopupComponent as 
TDBImage);
 if dbIm<>nil then dbIM.CopyToClipboard;
end;
procedure TfmMain.mcCutClick(Sender: TObject);
var  dbIM:TDBImage;nmField:string;
begin
 dbIm:=nil;
 With MenuClip do
 if PopupComponent is TDBImage then  dbIM:=(PopupComponent as 
TDBImage);
 if dbIm<>nil then begin
    dbIM.CutToClipboard;nmField:=dbIM.DataField;
    if dbIM.DataSource.State <> dsEdit then dbIM.DataSource.Edit;
    dbIM.DataSource.DataSet.FieldByName(nmField).Clear;
    dbIM.DataSource.DataSet.Post;
 end;
end;
procedure TfmMain.mcSaveClick(Sender: TObject);
var  dbIM:TDBImage;
begin


жүктеу 3,39 Mb.

Достарыңызбен бөлісу:
1   ...   54   55   56   57   58   59   60   61   ...   64




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау