ScProvinceFrm.pas 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. {*******************************************************************************
  2. 单元名称: ScProvinceFrm.pas
  3. 单元说明: 用于网络版选择省份。
  4. 作者时间: Chenshilong, 2010-11-16 17:27:41
  5. *******************************************************************************}
  6. unit ScProvinceFrm;
  7. interface
  8. uses
  9. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  10. Dialogs, Grids, ExtCtrls;
  11. type
  12. TScProvinceForm = class(TForm)
  13. sgProvince: TStringGrid;
  14. procedure FormCreate(Sender: TObject);
  15. procedure sgProvinceDrawCell(Sender: TObject; ACol, ARow: Integer;
  16. Rect: TRect; State: TGridDrawState);
  17. procedure sgProvinceDblClick(Sender: TObject);
  18. private
  19. { Private declarations }
  20. public
  21. { Public declarations }
  22. procedure init;
  23. end;
  24. function ExecScProvinceForm(var AProvinceName: string): Boolean;
  25. implementation
  26. {$R *.dfm}
  27. function ExecScProvinceForm(var AProvinceName: string): Boolean;
  28. var
  29. ScPrvForm: TScProvinceForm;
  30. begin
  31. Result := False;
  32. ScPrvForm := TScProvinceForm.Create(nil);
  33. with ScPrvForm do
  34. begin
  35. try
  36. init;
  37. ShowModal;
  38. if ModalResult = mrOK then
  39. begin
  40. AProvinceName := sgProvince.Cells[sgProvince.Col,sgProvince.Row];
  41. Result := True;
  42. end;
  43. finally
  44. Free;
  45. end;
  46. end;
  47. end;
  48. { TForm1 }
  49. procedure TScProvinceForm.init;
  50. var i: Integer;
  51. begin
  52. for i := 0 to sgProvince.ColCount - 1 do
  53. begin
  54. sgProvince.ColWidths[i] := 60;
  55. end;
  56. for i := 0 to sgProvince.RowCount - 1 do
  57. begin
  58. sgProvince.RowHeights[i] := 22;
  59. end;
  60. sgProvince.Cells[0, 0] := '甘肃';
  61. sgProvince.Cells[1, 0] := '宁夏';
  62. sgProvince.Cells[2, 0] := '青海';
  63. sgProvince.Cells[3, 0] := '陕西';
  64. sgProvince.Cells[4, 0] := '广西';
  65. sgProvince.Cells[0, 1] := '河南';
  66. sgProvince.Cells[1, 1] := '山西';
  67. sgProvince.Cells[2, 1] := '辽宁';
  68. sgProvince.Cells[3, 1] := '吉林';
  69. sgProvince.Cells[4, 1] := '黑龙江';
  70. sgProvince.Cells[0, 2] := '内蒙古';
  71. sgProvince.Cells[1, 2] := '安徽';
  72. sgProvince.Cells[2, 2] := '江苏';
  73. sgProvince.Cells[3, 2] := '上海';
  74. sgProvince.Cells[4, 2] := '浙江';
  75. sgProvince.Cells[0, 3] := '江西';
  76. sgProvince.Cells[1, 3] := '山东';
  77. sgProvince.Cells[2, 3] := '贵州';
  78. sgProvince.Cells[3, 3] := '四川';
  79. sgProvince.Cells[4, 3] := '云南';
  80. sgProvince.Cells[0, 4] := '重庆';
  81. sgProvince.Cells[1, 4] := '北京';
  82. sgProvince.Cells[2, 4] := '福建';
  83. sgProvince.Cells[3, 4] := '广东';
  84. sgProvince.Cells[4, 4] := '海南';
  85. sgProvince.Cells[0, 5] := '河北';
  86. sgProvince.Cells[1, 5] := '天津';
  87. sgProvince.Cells[2, 5] := '湖北';
  88. sgProvince.Cells[3, 5] := '湖南';
  89. sgProvince.Cells[4, 5] := '西藏';
  90. sgProvince.Cells[0, 6] := '新疆';
  91. sgProvince.Cells[1, 6] := '香港';
  92. sgProvince.Cells[2, 6] := '澳门';
  93. sgProvince.Cells[3, 6] := '台湾';
  94. end;
  95. procedure TScProvinceForm.FormCreate(Sender: TObject);
  96. begin
  97. init;
  98. end;
  99. procedure TScProvinceForm.sgProvinceDrawCell(Sender: TObject; ACol, ARow: Integer;
  100. Rect: TRect; State: TGridDrawState);
  101. begin
  102. with Sender as TStringGrid do
  103. begin
  104. Canvas.FillRect(Rect);
  105. DrawText(Canvas.Handle, PChar(Cells[ACol, ARow]), Length(Cells[ACol, ARow]),
  106. Rect, DT_CENTER or DT_SINGLELINE or DT_VCENTER);
  107. end;
  108. end;
  109. procedure TScProvinceForm.sgProvinceDblClick(Sender: TObject);
  110. begin
  111. ModalResult := mrOK;
  112. end;
  113. end.