안녕하세요! 드디어 이 프로그램의 주인공을 만들 차례입니다. 화면 한가운데, 오늘 선정된 종목들이 주르륵 뜨는 표 — 선정 종목 그리드예요. 갭상승은 빨강, 양봉은 초록, 진입완료는 초록 배경… 색만 잘 입혀도 한눈에 읽히는 표가 됩니다!

표는 DataGridView로 만듭니다. 그런데 기본 상태 그대로 두면 행 머리글, 수정 가능 셀, 촌스러운 테두리 때문에 영 별로예요. 그래서 MakeGrid() 헬퍼에서 읽기 전용·행머리글 숨김·머리글 스타일 같은 걸 한 번에 정리해 깔끔한 표로 만듭니다.
var dgv = new DataGridView
{
Dock = DockStyle.Fill,
ReadOnly = true, // 수정 불가
RowHeadersVisible = false, // 왼쪽 행머리글 제거
AllowUserToAddRows = false,
AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill, // 너비 자동 분배
EnableHeadersVisualStyles = false
};
컬럼은 MakeCol(이름, 헤더, 너비비율)로 추가합니다. 너비비율(FillWeight)을 주면 창이 커져도 컬럼들이 비율대로 늘어나요.
dgv.Columns.Add(MakeCol("Name", "종목명", 28));
dgv.Columns.Add(MakeCol("Gap", "갭상승", 11, true)); // 가운데 정렬
dgv.Columns.Add(MakeCol("State", "상태", 14, true));
// ... 섹터 · 전일봉 · 마감강도 · 거래량 · 현재가
행을 추가한 뒤, 그 행의 특정 셀 스타일만 바꿔주는 게 포인트입니다. 한국 주식 관습대로 상승은 빨강이라, 갭상승은 빨강으로. 전일봉은 양봉이면 초록, 음봉이면 빨강. 상태(진입완료)는 초록 배경까지 깔아줍니다.
int i = dgv.Rows.Add(st.Name, st.Sector, $"+{st.GapPercent:0.0}%",
st.PrevCandle == CandleType.Yang ? "양봉" : "음봉", /* ... */);
var row = dgv.Rows[i];
row.Cells["Gap"].Style.ForeColor = ScannerTheme.Gain; // 갭상승 → 빨강
row.Cells["Candle"].Style.ForeColor =
st.PrevCandle == CandleType.Yang ? ScannerTheme.YangGreen : ScannerTheme.EumRed;
ApplyEntryStatusStyle(row.Cells["State"], st.Status); // 상태별 배경색
조건에 못 미친 종목(예: 음봉 + 거래량 부족)은 조건미달로 처리하고, 글자를 회색으로 흐리게 해서 시선에서 자연스럽게 빠지게 했어요. 진짜 후보만 도드라져 보이도록요.
마무리하며
이제 실행하면 가운데에 종목 7개가 색색깔로 뜹니다. 진입완료는 초록, 대기는 무채색, 조건미달은 흐리게 — 한눈에 상태가 읽히죠. 다음 편에서는 바로 아래 시뮬레이션 결과 그리드를 만들어, 가상매수한 종목의 수익률과 예상손익을 빨강·파랑으로 보여주겠습니다. 프로젝트는 아래에서 받으세요.
| 키움 OpenAPI로 종목 스캐너 만들기 7 — 우측 패널 (UI 완성) (0) | 2026.06.16 |
|---|---|
| 키움 OpenAPI로 종목 스캐너 만들기 6 — 시뮬레이션 결과 그리드 (0) | 2026.06.15 |
| 키움 OpenAPI로 종목 스캐너 만들기 4 — 좌측 조건·섹터 패널 (0) | 2026.06.13 |
| 키움 OpenAPI로 종목 스캐너 만들기 3 — 상단 상태 바 (0) | 2026.06.12 |
| 키움 OpenAPI로 종목 스캐너 만들기 2 — 3 열 레이아웃 (0) | 2026.06.11 |
댓글 영역