首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

大家帮小弟我看看 小弟我错在哪里了

2012-02-13 
大家帮我看看 我错在哪里了我想实现一个登陆前 菜单默认是灰色的 登陆后是可用的 但是不知道为什么 登陆后

大家帮我看看 我错在哪里了
我想实现一个登陆前 菜单默认是灰色的 登陆后是可用的 但是不知道为什么 登陆后菜单仍然是灰色的 大家帮我看看错在哪了呢 
#include "Main.h"
#include "Login.h"

这个是MAIN
void __fastcall TfmMain::FormPaint(TObject *Sender)
{
  if(fmLogin-> Set > 0)
  {
  mnuInfo->Enabled = true;
  mnuHotel->Enabled = true;
  mnuRoomStautsr->Enabled = true;
  mnuExit->Enabled = true;
  N1->Enabled = true;
  }
  else
  {
  mnuInfo->Enabled = false;
  mnuHotel->Enabled = false;
  mnuRoomStauts->Enabled = false;
  mnuExit->Enabled = false;
  N1->Enabled = false;
  }
  if(fmLogin->qx>0)
  {
  N3->Enabled = true;
  }
  else
  {
  N3->Enabled = false;
  }
}
这个是登陆代码一部分
#include "Login.h"
#include "Main.h"
void __fastcall TfmLogin::Button1Click(TObject *Sender)
{
  int count = 0;
  if(Edit1->Text =="" || Edit2->Text =="")
  {
  ShowMessage("用户名或密码不能为空!");
  return;
  }
  Query1->SQL->Clear();
  Query1->SQL->Add("select count(*) as 数量");
  Query1->SQL->Add("from 管理员信息 ");
  Query1->SQL->Add("where 用户名=:id and 密码=:pwd and 权限级别=:qx");
  Query1->Params->Items[0]->AsString = Edit1->Text.Trim() ;
  Query1->Params->Items[1]->AsString = Edit2->Text.Trim() ;
  Query1->Params->Items[2]->AsString = ComboBox1->Text.Trim();
  Query1->ExecSQL();
  Query1->Open();
  count = Query1->FieldByName("数量")->AsInteger;
  Query1->Close();
   
  if(count>0)
  {
  Set = 1;
  Edit1->Text ="";
  Edit2->Text ="";
  if(ComboBox1->Text=="超级管理员")
  {
  qx = 1;
  }
  this->DestroyWnd();
  ShowMessage("登陆系统成功!");
  }
  else
  {
  Edit1->Text ="";
  Edit2->Text ="";
  ShowMessage("用户名或密码不正确!");
  }
}
//-----------------------

[解决办法]
我看错了,应该是TfmMain的Refresh(); 
(你的TfmMain名我没看到,如果是fmMain,可写
TfmMain->Refresh();
[解决办法]
ShowMessage("登陆系统成功!"); //下面增加以下代码 

TfmMain* fmMain = (TfmMain*)(Application->FindComponent("fmMain "));

if (fmMain != NULL)
{
fmMain->Refresh(); 
}

热点排行