当我选中餐台弹出菜单 根据当前选中的餐台的状态弹出的菜单中的项那些为不可用 问题不起作用 当然第一次选中一个餐台弹出的菜单没有问题 当然连续选中第一次选中的餐台都正常,而换了餐台就不正常了 我用showmessage('可用')测试都显示正常呀
我的代码是这样的:
procedure TfrmKTGL.RzListViewMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var p:TPoint;
Item: TListItem;
Selected: Boolean;
begin
if TRZListView(Sender).Selected <> nil then
begin
if Button= mbLeft then lb_name.Caption := TRZListView(Sender).Selected.Caption ;
// p.X:=Mouse.CursorPos.X ;
// p.Y:=mouse.CursorPos.Y ;
GetCursorPos(P);
if Button= mbRight then
begin
PopupMenu1.Popup(p.X,p.y);
end;
Getinfo;
end;
end;
procedure TfrmKTGL.RzListViewSelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
begin
if TRZListView(Sender).Selected <> nil then
begin
with TLCYGLXT.ADOFind do
begin
close;
sql.Clear ;
sql.Text:='select room_sate from room_info where room_name='''+item.Caption+'''';
open;
if (trim(FieldByName('room_sate').AsString)='可供') or (trim(FieldByName('room_sate').AsString)='脏台') or ( trim(FieldByName('room_sate').AsString)='预定') then
begin
showmessage('可用')
//RzListView.PopupMenu:=PopupMenu1;
{ N1.Enabled:=false;
N2.Enabled:=false;
N6.Enabled:=false;
N7.Enabled:=false;
N9.Enabled:=false;}
end;
if trim(FieldByName('room_sate').AsString)='占用' then
begin
showmessage('不可用')
end;// N3.Enabled:=false;//RzListView.PopupMenu:=PopupMenu2;
if trim(FieldByName('room_sate').AsString)='停用' then
begin
N1.Enabled:=false;
N2.Enabled:=false;
N3.Enabled:=false;
N6.Enabled:=false;
N7.Enabled:=false;
N9.Enabled:=false;
end;
end;
end;
RZListView.Refresh ;
end;
我的代码是这样的:
procedure TfrmKTGL.RzListViewMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var p:TPoint;
Item: TListItem;
Selected: Boolean;
begin
if TRZListView(Sender).Selected <> nil then
begin
if Button= mbLeft then lb_name.Caption := TRZListView(Sender).Selected.Caption ;
// p.X:=Mouse.CursorPos.X ;
// p.Y:=mouse.CursorPos.Y ;
GetCursorPos(P);
if Button= mbRight then
begin
PopupMenu1.Popup(p.X,p.y);
end;
Getinfo;
end;
end;
procedure TfrmKTGL.RzListViewSelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
begin
if TRZListView(Sender).Selected <> nil then
begin
with TLCYGLXT.ADOFind do
begin
close;
sql.Clear ;
sql.Text:='select room_sate from room_info where room_name='''+item.Caption+'''';
open;
if (trim(FieldByName('room_sate').AsString)='可供') or (trim(FieldByName('room_sate').AsString)='脏台') or ( trim(FieldByName('room_sate').AsString)='预定') then
begin
showmessage('可用')
//RzListView.PopupMenu:=PopupMenu1;
{ N1.Enabled:=false;
N2.Enabled:=false;
N6.Enabled:=false;
N7.Enabled:=false;
N9.Enabled:=false;}
end;
if trim(FieldByName('room_sate').AsString)='占用' then
begin
showmessage('不可用')
end;// N3.Enabled:=false;//RzListView.PopupMenu:=PopupMenu2;
if trim(FieldByName('room_sate').AsString)='停用' then
begin
N1.Enabled:=false;
N2.Enabled:=false;
N3.Enabled:=false;
N6.Enabled:=false;
N7.Enabled:=false;
N9.Enabled:=false;
end;
end;
end;
RZListView.Refresh ;
end;
解决方案 »
- socket的send函数如何传递vector变量,长度那块儿怎么算?
- 哪里有透明的ScrollBox?
- 转行散分--程序员不能干一辈子 顶者有分
- 如何不使用ADO和BDE读取ACCESS的数据?我的信誉分是109,如果可行,我是肯定给分的!!!
- Win2000+Delphi6+ExpressGrid4写的程序在Win200和XP下都能正常运行,但在98下一运行就非法操作?
- Borland贵州兴趣小组
- DBTree算法
- 为什么我编辑好的报表,打印预览时只有传真没有本地打印?
- bmp位图缩放如何保持图像清晰不变型
- 关于图象存储?
- 在COM对象中 如何获取客户端信息?
- 关于多表关联的几种方法的优劣势
你的思路就错了
是不是Caption自动带了后面的快捷键符号?
ShowMessage看下?
Open1.caption:='可供';
procedure TForm1.Open1Click(Sender: TObject);
begin
if Open1.Caption='可供' then
ShowMessage('可供');
end;这样就不会显示,最好不要用caption来判断.